MChauhan
MChauhan

Reputation: 1

Telerik Kendo grid unable to get control value

I am unable to get edited control value from telerik jquery grid row. I am using .net core telerik kendo grid

@(Html.Kendo().Grid(Model.LedgerEntries) .Name("LedgerEntries") .ToolBar(tools => tools.Create().Text("Add New Voucher Row")) .Editable(editable => editable.Mode(GridEditMode.InCell).CreateAt(GridInsertRowPosition.Bottom)) .Columns(columns => { columns.Bound(p => p.ACCNT_CODE).Title("Account Code").ClientTemplate("#= ACCNT_CODE #" + "");

columns.Bound(p => p.TRANS_AMT).Title("Debit").HtmlAttributes(new { @id = "TRANS_AMT" }).ClientTemplate("#= TRANS_AMT #" + "");

                     columns.Bound(p => p.TRANS_AMT).Title("Credit").ClientTemplate("#= TRANS_AMT_1 #" +

"");

columns.Bound(p => p.BASE_AMOUNT_1).Title("Base Amount Debit").HtmlAttributes(new { @id = "BASE_AMOUNT_1" }).ClientTemplate("#= TRANS_AMT_1 #" +"");

columns.Bound(p => p.BASE_AMOUNT_1).Title("Base Amount Credit").ClientTemplate("#= TRANS_AMT_1 #" + "");

columns.Bound(p => p.DESCRIPTION).Title("Narration").ClientTemplate("#= DESCRIPTION #" + "");

                    columns.Command(command => command.Destroy()).Width(100);
                    columns.Command(command => command.Edit()).Width(100);
                })
                .DataSource(dataSource => dataSource.Ajax()
                .Model(model =>
                {
                    model.Id(p => p.TRANSROWID);
                    model.Field(p => p.TRANSROWID).Editable(false);
                    model.Field(p => p.ACCNT_CODE).Editable(true);
                    model.Field(p => p.TRANS_AMT).Editable(true).DefaultValue(0);
                    model.Field(p => p.TRANS_AMT_1).Editable(true).DefaultValue(0);
                    model.Field(p => p.BASE_AMOUNT_1).Editable(true).DefaultValue(0);
                    model.Field(p => p.DESCRIPTION).Editable(true).DefaultValue("");

                })
                .ServerOperation(false)
                .Batch(true)
                .Events(e => e.Error("error_handler")
                .Change("onChange"))
                
                )
                )

script:

function onChange(e) {

    var selected = $.map(this.select(), function (item) {
        return $(item).text();
    });
    kendoConsole.log("Selected: " + selected.length + " item(s), [" + selected.join(", ") + "]");

Error:

Create:315 Uncaught Type Error: this.select is not a function at init.onChange (Create:315:35) at init.trigger (kendo.all.js:309417:87) at init._process (kendo.all.js:309417:87) at init.success (kendo.all.js:309417:87) at Object.success (kendo.all.js:309417:87) at init.read (kendo.aspnetmvc.js:1052:87) at kendo.all.js:309417:87 at init._queueRequest (kendo.all.js:309417:87) at init.read (kendo.all.js:309417:87) at init.query (kendo.all.js:309417:87)

Upvotes: 0

Views: 164

Answers (1)

Chen
Chen

Reputation: 5174

According to telerik's official documentation, the select method will not trigger the change event. Maybe this is the reason why this.select is not accepted. You can refer to the code in it.

Another possibility is that you need to select a value by default to correspond to the this.select function before letting the grid load.

Hope this can help you.

Upvotes: 0

Related Questions