3

我在实体框架代码优先 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 列是可见的。

这发生在我添加更新功能时。您是否知道如何修复“添加新行”行,就像我的列是可见的一样?提前致谢。

4

2 回答 2

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

于 2012-11-08T09:54:42.617 回答
0

我让它.Width("0px")在我的 ID 列上使用和 ReadOnly 工作。有点脏但别无选择...

于 2012-11-08T09:43:54.930 回答