Я использую старую версию ASP. NET MVC TELERIK UI Controls. У меня есть сетка Telerik, и один из ее столбцов является флажком. Эта сетка связала DTO. Из этого DTO меня интересует только отображение в сетке столбцов ниже во фрагменте.
Теперь, когда пользователь устанавливает / снимает флажок, я хочу передать значение subMagnitudId методу javascript onClickSubmagnitud и затем проверьте, был ли флажок установлен или снят. Свойство SubMagnitudId является свойством модели (DTO), связанной с сеткой. По какой-то причине не работает.
Javascript функция :
function onClickSubmagnitud(subMagnitudId) {
var grid = $('#GridSubMagnitud').data('tGrid');
// Do something with argument subMagnitudId
}
ASP. NET MVC Telerik Grid :
@(Html.Telerik().Grid<MyApplication.MyModule.DTO.SubMagnitudDTO>()
.Name("GridSubMagnitud")
.DataKeys(keys => {
keys.Add(p => p.gridIndex).RouteKey("gridIndex");
keys.Add(p => p.magnitudId).RouteKey("magnitudId");
keys.Add(p => p.subMagnitudId).RouteKey("subMagnitudId");
})
.ToolBar(commands =>
{
if (Model.workFlowActual.enabled("GridSubMagnitud") && !(ViewBag.IsReadOnly))
{
commands.Template(
@<text>
<a class="btn btn-primary" name="btnAction" id="btnAction" style="margin:5px;" onclick='onNuevaMagnitudSubmagnitud()'><i class='icon-plus icon-white'></i> Añadir Magnitud</a>
</text>
);
}
})
.Columns(columns =>
{
columns.Bound(s => s.Magnitud.nombre).Filterable(false);
columns.Bound(s => s.nombre).Filterable(false);
/* BELOW MY CHECKBOX COLUMN */
columns.Bound(s => s.Activa)
.ClientTemplate("<input type='checkbox' name='checkedActiva' <#= Activa ? checked='checked' : '' #> 'text-align:center' onclick='onClickSubmagnitud(<#= subMagnitudId #>)'/>")
.ReadOnly(false)
.Title("Activa")
.Width(40)
.HtmlAttributes(new { style = "text-align:center" });
if (Model.workFlowActual.enabled("GridSubMagnitud") && !(ViewBag.IsReadOnly))
{
columns.Bound(det => det).Title("").Width(50)
.ClientTemplate(
"<a class=\"btn btn-primary\" name=\"btnAction\" id=\"btnAction\" onclick='DeleteOrder(<#= gridIndex #>)' ><i class='icon-remove icon-white'></i></a>"
)
.Template(
@<text>
<a class="btn btn-primary" name="btnAction" id="btnAction" onclick='DeleteOrder(@item.gridIndex)'><i class='icon-remove icon-white'></i></a>
</text>
);
}
})
.ClientEvents(events => events.OnDataBinding("onDataBindingSubMagnitud"))
.DataBinding(
dataBinding => dataBinding
.Ajax()
.OperationMode(GridOperationMode.Client))
.Pageable(p => p.PageSize(5))
)