我正在使用Telerik Mvc RadGrid,我想从网格中获取行值
这是我的网格
@( Html.Telerik().Grid<Orpac.Models.Pm_Web_VehGet_Result>()
.Name("grdTransactions").NoRecordsTemplate("No record to display")
.Localizable("")
.DataBinding(d => d.Ajax().Select("GridTransactionBinding", "Transaction"))
.HtmlAttributes("width: 100%;cellpadding:0;")
.Columns(columns =>
{
columns.Bound(e => e.VdvId).Width(90).Title((string)ViewData["CardNo"]);
columns.Bound(e => e.FdpDepNam).Width(60).Title((string)ViewData["Department"]);
columns.Bound(e => e.VehPlate).Width(70).Title((string)ViewData["Plate"]);
columns.Bound(e => e.VehName).Width(60).Title((string)ViewData["Name"]);
columns.Bound(e => e.VehSurname).Width(60).Title((string)ViewData["Surname"]);
columns.Bound(e => e.VehAmtLim).Width(70).Title((string)ViewData["CurrentAmount"]);
columns.Bound(null).Width(110).ClientTemplate("<input type='text' id='current' onchange='changesum()' class='txtLA' onkeypress='return isNumber(event)'/>").Title((string)ViewData["LoadAmount1"]);
columns.Bound(null).Width(60).ClientTemplate("<span id='total' class='txtTA'/>").Title((string)ViewData["TotalAmount"]);
})
.ClientEvents(events => events.OnRowDataBound("onRowDataBoundTrans"))
.Selectable()
.Sortable()
.Pageable()
.Groupable()
.Filterable(filtering => filtering.Enabled((bool)ViewData["filtering"]))
.Footer(true)
.Scrollable(scrolling => scrolling.Height(300))
.Resizable(config =>
{
config.Columns(true);
})
.Reorderable(config =>
{
config.Columns(true);
})
.ColumnContextMenu()
)
在这个网格中我只想从行获取“CurrentAmount”值,从行内的文本框中获取“LoadAmount”值,两个值的总和写入“TotalAmount”中的总值
此外,我可以在onrowdatabound函数上求和两个值(“CurrentAmount”和“LoadAmount”)
但我想在Textbox textchanged上将这两个值加起来“LoadAmount”行中的哪个文本框
如何获取该文本框行的值?
您是否对此主题有任何见解
谢谢
扫
答案 0 :(得分:1)
我在这个工作人员吃了两天,但我也解决了这个问题。
Telerik MVC Grid有一些ClientEvents。 OnSave 就是我的问题的答案。
因为当您使用 OnSave 时,您可以使用此事件将所有数据都覆盖到该行。这是
博客http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-client-api-and-events.html#OnSave
这是我的例子
function onsave(e) {
var values = e.values;
var dataItem = e.dataItem;
var cur = parseInt(values.LoadAmount);
var total = cur + dataItem.TotalAmount;
e.cell.nextSibling.innerText = total;
}
保重