1

ドロップダウンが変更されたときにデータを取得するインフラジスティックス グリッドがあります 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;

null参照エラーがスローされ、データをロードするたびに列名が更新されないようです。データは更新されますが、列名は更新されません。ここに私の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>   
4

1 に答える 1

2

あなたの場合AutogenerateColumns-Trueグリッド列コレクションは空になります。トリックは、Grid Rows を介して列にアクセスすることです。

グリッドがバインドされた後、これを試してください:

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

グリッドに少なくとも 1 つの行があることを確認してください。

于 2013-05-08T17:15:52.360 に答える