3

私は剣道グリッドを持っており、1 つの列には 0 から 12 までの数値が必要です。HourTimeHours 以外はすべて正常に動作しています。最小値を 0 未満にすることはできませんが、そのために 12 を超える値を設定することはできます。助けてください。

schema: {
            model: {
                id: "ID",
                fields: {
                    ID: { editable: false },
                    TName: { editable: false },
                    HourTimeHours: { editable: true, type: "number", validation: { required: true, min: 0, max: 12 } },
                    Comment: { editable: true, nullable: true },
                    Reason: { editable: false, nullable: true },
                    ChargeRateText: { defaultValue: { CategoryID: "No Charge", CategoryName: "No Charge" } },
                }
            },
4

3 に答える 3

4

グリッドを作成するときに、そのフィールドのエディターを指定する必要があります。

$("#grid").kendoGrid({
    dataSource: dataSource,
    columns: [
        { field: "HourTimeHours", title: "Hours", editor: hoursDropDownEditor }],
    editable: true
});

そして、剣道の数値テキスト ボックスのようなものが必要な場合、関数は次のようになります。

function hoursDropDownEditor(container, options) {
    $('<input/>')
        .appendTo(container)
        .kendoNumericTextBox({
            min: 1,
            max: 12,
            step: 1
    });
}

更新:テンプレートを使用して、フィールドが編集可能であることをユーザーに明確にすることもできます。

http://jsfiddle.net/amomsen/vcpWD/1/

于 2013-10-22T14:47:41.927 に答える
0

Kendo UI MVC の場合、Kendo Grid インライン編集の長さを制限できます

    $("body").delegate("#percentage", "keyup", function () { 
        $("#percentage").attr('maxlength', '5');
    });

#percentage は編集するセルの ID です

columns.Bound(p => p.percentage);

すべてのグリッド:

@(Html.Kendo().Grid<Internal.Models.ExchangeRateData>()
    .Name("ExchangeGrid") 
    .Columns(columns =>
    { 
        columns.Bound(p => p.targetCurrency);
        columns.Bound(p => p.percentage);
        columns.Command(commands => { commands.Edit(); }); 
    }) 
    .Editable(edit =>
    {
        edit.Mode(GridEditMode.InLine); 
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(true)
        .ServerOperation(false)
        .Model(model =>
        {
            model.Id(item => item.targetCurrency);  
        }) 
        .Events(events =>
        {
            events.Sync("onSync");
        })
        .Read(read => read.Action("ExchangeRate_Read", "ExchangeRatesFortius").Data("ReadRequestData"))
        .Update(c => c.Action("Currencies_Update", "ExchangeRatesFortius")) 
    )
)
于 2016-06-10T18:34:11.587 に答える