2011-02-24 34 views
1

我的問題是我從父頁面設置數據源。但是,如果我設置禁用某些列的GridView控件的內部禁用列模板的事件被激發。就像我在一列中有一個複選框,如果在數據綁定check_checked事件被觸發時從父頁面禁用該列。 這裏我代碼 - 用戶控件的aspx用戶控件的gridview控件中的問題

<asp:TemplateField HeaderText="Exclude Null" ItemStyle-Width="50px"> 
        <HeaderTemplate> 
         Exclude Null 
        </HeaderTemplate> 
        <ItemTemplate> 
         <asp:CheckBox runat="server" ID="chkExNull" OnCheckedChanged="chkExNull_OnCheckedChanged" 
          AutoPostBack="true" /> 
        </ItemTemplate> 
        <ItemStyle HorizontalAlign="left" VerticalAlign="Top" /> 
        <HeaderStyle HorizontalAlign="left" VerticalAlign="Top" /> 
       </asp:TemplateField> 

的.cs父文件

GridView gvCondition = (GridView)ucCondition.FindControl("gvCondition"); 
    gvCondition.DataSource = ConditionFieldCollection; 
    gvCondition.Columns[5].Visible = false; 
    gvCondition.Columns[6].Visible = false; 
    gvCondition.Columns[7].Visible = false; 
    gvCondition.Columns[8].Visible = false; 
    gvCondition.DataBind(); 

我應該怎麼做,並有通過它我可以隱藏一些任何其他方式用戶控件的網格視圖控件列?

+0

嘗試隱藏數據綁定後的列,再加上顯示的事件是檢查已更改的事件,該事件僅在點擊時觸發,所以列未正確隱藏,或者是否存在其他事件觸發? – 2011-02-24 13:32:13

回答

1

之前你的DataBind()。寫這個:

gvCondition.DataBound += new EventHandler(gvwCondition_DataBound); 

並寫入該方法,隱藏列的代碼。

希望有所幫助。