2013-03-13 2 views
3

Я пытаюсь создать динамический Gridview на странице ASP.NET, и у меня есть несколько строк и добавлен столбец CheckBox.ASP.NET Скрыть строку Gridview с флажком

<body> 
    <h1>Alerts</h1> 
    <form id="form1" runat="server"> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:KiwiLogConnectionString %>" SelectCommand="SELECT * FROM [Syslogd] 
GROUP BY MsgHostname, MsgDate, MsgTime, MsgPriority, MsgText"></asp:SqlDataSource> 
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="3" DataSourceID="SqlDataSource1" ForeColor="#333333" AllowPaging="True" PageSize="15"> 
      <AlternatingRowStyle BackColor="White" /> 
      <Columns> 
       <asp:TemplateField > 
       <ItemTemplate > 
       <asp:CheckBox ID ="Checkbox" runat="server"/> 
       </ItemTemplate> 
       </asp:TemplateField> 
       <asp:BoundField DataField="MsgDate" HeaderText="Datum" SortExpression="MsgDate" ItemStyle-Wrap="false" > 
        <ItemStyle Wrap="False"></ItemStyle> 
       </asp:BoundField> 
       <asp:BoundField DataField="MsgTime" HeaderText="Tijd" SortExpression="MsgTime" ItemStyle-Wrap="false" > 
        <ItemStyle Wrap="False"></ItemStyle> 
       </asp:BoundField> 
       <asp:BoundField DataField="MsgPriority" HeaderText="Priority" SortExpression="MsgPriority" ItemStyle-Wrap="false" > 
        <ItemStyle Wrap="False"></ItemStyle> 
       </asp:BoundField> 
       <asp:BoundField DataField="MsgHostname" HeaderText="Hostname" SortExpression="MsgHostname" ItemStyle-Wrap="false" > 
        <ItemStyle Wrap="False"></ItemStyle> 
       </asp:BoundField> 
       <asp:BoundField DataField="MsgText" HeaderText="Message" SortExpression="MsgText" /> 
      </Columns> 
      <EditRowStyle BackColor="#2461BF" /> 
      <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> 
      <RowStyle BackColor="#EFF3FB" /> 
      <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> 
      <SortedAscendingCellStyle BackColor="#F5F7FB" /> 
      <SortedAscendingHeaderStyle BackColor="#6D95E1" /> 
      <SortedDescendingCellStyle BackColor="#E9EBEF" /> 
      <SortedDescendingHeaderStyle BackColor="#4870BE" /> 
     </asp:GridView> 
     <asp:Button ID="btn_update" runat="server" OnClick="btn_update_Click" Text="Update" /> 
    </form> 
    </body> 

Если флажок установлен и кнопка «Обновить» нажата, я хочу эти строки (s) должны быть скрыты. Как я могу это сделать?

protected void btn_update_Click(object sender, EventArgs e) 
{ 

} 

Сетка построена с использованием базы данных SQL, поэтому она должна быть динамической. В foward, большое спасибо!

ответ

1

Вы можете попробовать следующее:

protected void btn_update_Click(object sender, EventArgs e) 
{ 
    foreach (GridViewRow gvr in GridView1.Rows) 
    { 
      if (((CheckBox)gvr.findcontrol("Checkbox")).Checked == true) 
      { 
       //Do stuff with checked row 
       gvr.Visible = false; 
      } 

    } 
} 
+0

Капитал 'V' в '.Visible', глупо =) – jadarnel27

+0

@ jadarnel27 исправлено, спасибо за доказательство: D – tymeJV

+0

Ха-ха, никаких проблем. Кроме того, вы никогда не объявляли «Checkbox» в своем примере, а свойство '.Checked' также должно быть заглавным. Вероятно, вы должны проверить эти вещи в среде IDE перед публикацией, чтобы быть в безопасности. – jadarnel27

0

Я хотел бы использовать JavaScript для чего-то вроде этого.

Смежные вопросы