0

KendoUIでMVC3を使用しています。

コンボボックスに手動で値を渡すことでデータを取得でき、実行時にコンボボックス内の値を確認できます。

これは、値を手動で渡すことによるものです

            $("#input").kendoComboBox({
                dataTextField: "text",
                dataValueField: "value",
                dataSource: [
                        { text: "Cotton", value: "1" },
                        { text: "Polyester", value: "2" },
                        { text: "Cotton/Polyester", value: "3" },
                        { text: "Rib Knit", value: "4" }
                    ],
                filter: "contains",
                suggest: true,
                index: 3
            });

次に、SQLServer2008からデータを取得する必要があります。

私のテーブル名がProductsだと言ってください


製品名<-これは私の列名の後に値が続きます。abc def ghi

これどうやってするの ?

私はこのKendoUIとMVCに非常に慣れていません。

助けてください

ありがとう、

4

1 に答える 1

1

おい、

コンボボックスのクライアント側の構成は、これと非常によく似ているはずです。 http://demos.kendoui.c​​om/web/combobox/remotedatasource.html

例えば

<script>
  jQuery("#products").kendoComboBox({
    "dataSource": {
        "transport": {
            "read": {
                "url": "/razor/web/Home/GetProducts",
                "data": function() {
                    return kendo.ui.ComboBox.requestData("#products");
                }
            }
        },
        "serverFiltering": true,
        "filter": [],
        "schema": {
            "errors": "Errors"
        }
    },
    "dataTextField": "ProductName",
    "dataValueField": "ProductID",
    "filter": "contains"
});​
</script>

サーバー メソッドからのこのような構成では、JsonResult を返すアクション メソッドを作成する必要があります。最も重要な部分は、コレクション内の各オブジェクトに、コンボに使用される名前と ID を表すProductNameおよびProductIDという名前のプロパティを含める必要があることです。

public JsonResult GetProducts(string text)
    {
        var northwind = new NorthwindDataContext();


        var products = northwind.Products.Select(product => new ProductViewModel
        {
            ProductID = product.ProductID,
            ProductName = product.ProductName,
            UnitPrice = product.UnitPrice ?? 0,
            UnitsInStock = product.UnitsInStock ?? 0,
            UnitsOnOrder = product.UnitsOnOrder ?? 0,
            Discontinued = product.Discontinued
        });

        if (!string.IsNullOrEmpty(text))
        {
            products = products.Where(p => p.ProductName.Contains(text));
        }

        return Json(products, JsonRequestBehavior.AllowGet);
    }
于 2012-09-13T19:31:20.107 に答える