2010-10-27 45 views
0

我有一個網格視圖控件,其中包含項目模板的模板字段爲複選框控件 並且標題模板包含具有列標題名稱的標籤。通過單擊列標題標題在網格視圖控件中選擇多個複選框

我想單擊coulmn標題標籤,所有複選框都必須選中一次。

請給我提供一些例子或想法如何,我可以實現這個

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" CellPadding="4" 
     ForeColor="#333333" GridLines="None" > 
     <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
     <Columns> 
      <asp:TemplateField HeaderText="" > 
      <ItemTemplate> 
      <asp:CheckBox ID="val_id" runat="server" /> 
      </ItemTemplate> 
      <HeaderTemplate> 
      <label> 
      Rise Needed 
      </label> 
      </HeaderTemplate> 
      </asp:TemplateField> 
     <Columns> 

回答

0

更改您的HeaderTemplate中的標籤是一個LinkBut​​ton並分配Click事件。

 <HeaderTemplate>  
     <asp:LinkButton ID="btnRiseNeeded" runat="server" Text="Rise Needed" OnClick="btnRiseNeeded_Click" />  
     </HeaderTemplate> 

然後當按鈕被點擊循環通過你的GridView行並勾選框。

foreach(var row in GridView2.Rows) 
{ 
    var cbx = (CheckBox)row.FindControl("val_id"); 
    cbx.Checked = true; 
} 

此代碼不在我的頭頂,所以可能需要一些修改。另外,我不確定複選框是否會在PostBack上保留。試一試。

相關問題