C# 在动态基础设施网格中隐藏列并更新标题

C# 在动态基础设施网格中隐藏列并更新标题,c#,javascript,asp.net,infragistics,C#,Javascript,Asp.net,Infragistics,我有一个Infrastics网格,当下拉列表被更改时,它可以获取数据 1-我想在每次网格加载数据时隐藏最后一列 2-我还想根据数据更新标题 问题 我正在努力 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { EntityName.Text = DropDownList1.SelectedItem.Text; string entity =

我有一个Infrastics网格,当下拉列表被更改时,它可以获取数据 1-我想在每次网格加载数据时隐藏最后一列 2-我还想根据数据更新标题

问题 我正在努力

     protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        EntityName.Text = DropDownList1.SelectedItem.Text;
        string entity = "t_" + DropDownList1.SelectedItem.Text;
        String strConnString = ConfigurationManager.ConnectionStrings["LiveLeaseConnectionString"].ConnectionString;
        SqlConnection con = new SqlConnection(strConnString);
        SqlCommand cmd = new SqlCommand("p_DataList_ByRegardingObject", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@RegardingObjectName", entity);
        SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        sqlDataAdapter.Fill(dt);
        this.EntityGrid.DataSource = dt;
        this.EntityGrid.Columns[6].Hidden = true;
它抛出空引用错误,并且它似乎不会在每次加载数据时更新列名。数据正在刷新,但列名没有更新。 这是我的aspx

    <asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
   <asp:ListItem>Select Entity</asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" ID="EntityName"></asp:Label>
<ig:WebScriptManager ID="WebScriptManager1" runat="server"></ig:WebScriptManager>
<ig:WebDataGrid ID="EntityGrid" runat="server"  Width="100%" Height="50%" StyleSetName="Claymation" >

    <Behaviors>
        <ig:Sorting>
        </ig:Sorting>

    </Behaviors>
    <ClientEvents Click="NavigateOnClick" />
</ig:WebDataGrid>   

选择实体

如果您的
自动生成列
-网格列集合将为空。诀窍是通过网格行到达列

绑定网格后,请尝试以下操作:

this.EntityGrid.Rows[0].Items[6].Column.Hidden = true;

请确保网格至少有一行。

您能告诉我在哪一行引发异常吗?steve在这里。entitygrid.columns[6]。hidden=true;它抛出异常更新头是通过清除列来完成的。但对于隐藏部分,我知道该列是所有实体的url,但它可能不总是在同一列中。是否要使用此文本隐藏它?Yuriy Galanter大多数情况下工作正常,但在某些地方,我没有将object设置为object instance Error。这是正确的地方吗?SqlDataAdapter da=newsqldataadapter(cmd);DataTable dt=新的DataTable();da.填充(dt);this.EntityGrid.DataSource=dt;this.EntityGrid.DataBind();this.EntityGrid.Rows[0]。Items[6]。Column.Hidden=true;能否验证Rows集合是否没有行或Items集合是否没有项?调用此代码时,必须确保网格中有数据。另外,您可能希望尝试将此行移动到网格的
PreRender
事件处理程序中。是否有使用文本隐藏的方法?使用
this.EntityGrid.Rows[0].Items[]
集合时,列名是URL,您可以在集合中循环,检查
.column.Header.Text
(或其他列属性)并相应地执行操作