我在实体框架代码优先的MVC项目中使用Infragistics。我想显示一个带有隐藏列(ID)的表,它必须是可编辑的。这是我到目前为止所得到的:
<table id="igTests"></table>
@(Html.Infragistics().Grid<BusinessModel.VO.TestVO>().ID("igTests")
.AutoGenerateColumns(false)
.Columns(column =>
{
column.For(x => x.TestId).DataType("int").HeaderText("id");
column.For(x => x.TestNum).DataType("int").HeaderText("Test num");
column.For(x => x.Type).DataType("string").HeaderText("Type");
column.For(x => x.Nature).DataType("string").HeaderText("Nature");
column.For(x => x.TeamName).DataType("string").HeaderText("Team");
column.For(x => x.CreateDate).DataType("date").HeaderText("Creation date");
})
.Features(feature => {
feature.Sorting().CaseSensitive(true);
feature.Filtering().Mode(FilterMode.Simple);
})
.PrimaryKey("TestId")
.DataSource(Model.TestsVO.AsQueryable())
.DataBind()
.Render())
这是显示的内容:
现在让我们添加更新功能(我知道readOnly没用,因为我们不应该看到它):
feature.Updating().EnableAddRow(true).EnableDeleteRow(true).EditMode(GridEditMode.Row).ColumnSettings(settings =>
settings.ColumnSetting().ColumnKey("TestId").ReadOnly(true)
);
隐藏我的ID栏:
column.For(x => x.TestId).DataType("int").HeaderText("id").Hidden(true);
这是我得到的。正如您所看到的那样,表格就像我的ID列一样可见。
这是在我添加更新功能时发生的。您是否知道如何修复“添加新行”行,就像我的列可见一样?提前谢谢。
答案 0 :(得分:4)
可能你应该添加这个
}).Features(features => features.Hiding()
.ColumnSettings(settings =>
{
settings.ColumnSetting().ColumnKey("id").Hidden(true).AllowHiding(false)
http://www.infragistics.com/products/jquery/sample/grid/column-hiding-on-initialization
答案 1 :(得分:0)
我在我的ID列上使用.Width("0px")
和ReadOnly工作了。有点脏,但别无选择......