我有一个动态生成的MVC3网格,它是从ViewModel填充的。我需要在网格中添加编辑功能,甚至无法进入编辑模式。
此外,我需要能够只读一些列。
我的代码如下:
@(Html.Telerik()
.Grid<System.Data.DataRow>(Model.Data.Rows.Cast<System.Data.DataRow>())
.HtmlAttributes(new { style = "width: 2500px" })
.Name("Grid")
.ToolBar(tb => tb.Template("Outstanding Orders"))
.DataKeys(dataKeys => dataKeys.Add("DeliveryID"))
.Columns(columns =>
{
columns.Command(commands =>
{
commands.Edit().ButtonType(GridButtonType.ImageAndText)
.HtmlAttributes(
new
{
style = "width: 60px; min-width: 40px; background: #0066FF"
});
}).Width(100).Title("Commands");
columns.Command(commandbutton =>
{
commandbutton.Select().ButtonType(GridButtonType.ImageAndText)
.HtmlAttributes(
new
{
style = "width: 60px; min-width: 40px; background: #0066FF"
});
columns.LoadSettings(Model.Columns as IEnumerable<GridColumnSettings>);
})
.DataBinding(dataBinding => dataBinding.Server()
.Select("_DeliveryGrid", "Deliveries")
.Update("Save", "Deliveries"))
.Editable(editing => editing.Mode(GridEditMode.InLine))
.Sortable(settings => settings.Enabled(true))
.Scrollable(c => c.Height("9000px"))
.EnableCustomBinding(true)
.Resizable(resize => resize.Columns(true))
)
我的viewmodel定义
public class DeliveriesGridViewModel
{
public DataTable Data { get; set; }
public IEnumerable<GridColumnSettings> Columns { get; set; }
}
感谢您的帮助
答案 0 :(得分:1)
如果您绑定到 DataTable 或类似内容,请确保将列绑定到的属性不包含空格。
即。 “交货名称”应为“DeliveryName”