Infragistics隐藏列更新

时间:2012-11-08 08:24:49

标签: asp.net-mvc razor infragistics ignite-ui iggrid

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

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

2 个答案:

答案 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工作了。有点脏,但别无选择......