1

asp.net mvc4 と kendo ui ツールを使用して Web アプリケーションを開発しました。

そこで、スキーマにフィールドを作成せずに、モデルをグリッド データソースまたはスキーマに直接バインドする必要があります。

これが私のグリッドのコードです..

function LoadGridView() {

        dataSource = new kendo.data.DataSource({
            transport: {
                read: {
                    url: "Items/ReadItemDetails",
                    dataType: "json"
                },
                create: {
                    url: "Items/InsertItemDetails",
                    dataType: "json"
                },
                update: {
                    url: "Items/UpdateItemDetails",
                    Type: "POST",
                    dataType: "jsonp"
                },
                destroy: {
                    url: "Items/DeleteItemDetails",
                    dataType: "json"
                }
            },

            batch: true,
            pageSize: 30,
            schema: {
                model: {
                    id: "ItmKy",
                    fields: {
                        ItmCd: { editable: true, nullable: true },
                        ItmNm: { editable: true, nullable: true },
                        Unit: { editable: true, nullable: true },
                        isAct: { editable: true, nullable: true }
                    }
                }
            }
        });
}

この行の代わりにモデル名をスキーマに渡す必要があります

schema: {
                    model: {
                        id: "ItmKy",
                        fields: {
                            ItmCd: { editable: true, nullable: true },
                            ItmNm: { editable: true, nullable: true },
                            Unit: { editable: true, nullable: true },
                            isAct: { editable: true, nullable: true }
                        }
                    }
                }

私はこのように試しましたが、グリッドが機能していません..

schema: {
                    model: @Model
                }

誰かが私を助けて、可能であればモデルをスキーマまたはデータソースにバインドする方法を教えてください..

モデルクラスはこちら

namespace KendoModel
{
    public class ItemMas_LookUp 
    {
        public long ItmKy { get; set; }
        public string ItmCd { get; set; }
        public string ItmNm { get; set; }
        public int UnitKy { get; set; }
        public int isAct { get; set; }
        public string Unit { get; set; }

        public ItemMas_LookUp() 
        {

        }
    }
}
4

1 に答える 1

1

これは私が純粋なJSで行った方法で、バックエンドコンポーネントはありません:

私のモデル:

var PageItem = kendo.data.Model.define({
    id: "Id"
});

私のデータソース(同じ範囲内!):

var pageItemDs = new kendo.data.DataSource({
    transport: {
        ...
    },
    schema: {
        model: PageItem
    }
});

ASP.NET コンポーネントを使用する場合は、Razor でグリッド自体を定義する必要があります。JS と Razor を混在させることはできません。

于 2013-08-07T06:30:08.947 に答える