Reputation: 1
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
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