如何在列中实现单选按钮以及其他列

时间:2012-09-05 10:10:52

标签: asp.net-mvc-3 razor telerik asp.net-mvc-4 telerik-grid

在telerik razor工作 我的代码是

 .Columns(c =>
    {
        c.Bound(itm => itm.id).Visible(false);
        c.Bound(itm => itm.name).Title("FN").Width(200);
        c.Bound(itm => itm.name).Title("LN").Width(200);
        c.Bound(itm => itm.location).Title("Loc").Width(200);
 })

我想添加一个单选按钮作为第一列。感谢

1 个答案:

答案 0 :(得分:2)

如果您使用的是服务器数据绑定,则可以执行以下操作。

.Columns(c =>
{
      c.Template(
      @<text>
          <input name="checkedRecords" type="radio" value="@item.id " title="checkedRecords" 
              @if (checkedRecords.Contains(item.id))
              {
                  <text>checked="checked"</text>
              }
          />
      </text>)
      .Title("").Width(36).HtmlAttributes(new { style = "text-align:center" });
      c.Bound(itm => itm.id).Visible(false);
      c.Bound(itm => itm.name).Title("First Name").Width(200);
      c.Bound(itm => itm.name).Title("Last Name").Width(200);
      c.Bound(itm => itm.location).Title("Location").Width(200);
 })

请参阅example on Telerik's site

对于ajax绑定,您将使用ClientTemplate:

.Columns(c =>
{
      c.Bound(itm => itm.id)
       .ClientTemplate("<input type='radio' name='checkedRecords' value='<#= id #>' />")
       .Title("")
       .Width(36)
       .HtmlAttributes(new { style = "text-align:center" });
      c.Bound(itm => itm.id).Visible(false);
      c.Bound(itm => itm.name).Title("First Name").Width(200);
      c.Bound(itm => itm.name).Title("Last Name").Width(200);
      c.Bound(itm => itm.location).Title("Location").Width(200);
 })

Telerik example