asp.net Checbox在GridView中的應(yīng)用實(shí)例分析

字號:


    本文實(shí)例講述了asp.net Checbox在GridView中的應(yīng)用方法。分享給大家供大家參考,具體如下:
    先看效果圖:
    名單
    前臺代碼:樣式自己定義哦!
    <div>
       <yxy:HkrGridView ID="tabGridView1" runat="server" AutoGenerateColumns="False" Width="100%"
         OnRowDataBound="HkrGridView1_RowDataBound" OnRowCreated="HkrGridView1_RowCreated"
         ShowHeader="True" AllowPaging="false" DataKeyNames="keyId" ShowFooter="false">
         <Columns>
           <asp:BoundField>
             <ItemStyle HorizontalAlign="Center" Width="5%" />
           </asp:BoundField>
           <asp:TemplateField>
           <ItemTemplate>
           <a href='<%#DataBinder.Eval(Container.DataItem,"newName")%>' ><%#DataBinder.Eval(Container.DataItem,"oldName")%></a>
           </ItemTemplate>
           </asp:TemplateField>
         <asp:BoundField DataField="memo">
             <ItemStyle Width="20%" HorizontalAlign="left" />
           </asp:BoundField>
           <asp:TemplateField>
             <ItemTemplate>
               <asp:CheckBox ID="CheckBox" runat="server" />
             </ItemTemplate>
             <ItemStyle HorizontalAlign="Center" Width="5%" />
           </asp:TemplateField>
         </Columns>
         <FooterStyle ForeColor="Red" HorizontalAlign="Center" Font-Bold="true" />
       </yxy:HkrGridView>
       <div id="DivOne">
         <asp:CheckBox ID="CheckBoxAll" runat="server" Text="全選" Width="80px" AutoPostBack="True"
           OnCheckedChanged="CheckBoxAll_CheckedChanged" />
         <asp:CheckBox ID="CheckBox1" runat="server" Text="反選" Width="80px" AutoPostBack="True"
           OnCheckedChanged="CheckBox1_CheckedChanged" />
         <asp:Button ID="Button1" runat="server" Text="取 消" CssClass="Button" OnClick="Button1_Click" />
       </div>
    </div>
    后臺代碼:
    protected void HkrGridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
          TableCellCollection tcHeader = e.Row.Cells;
          tcHeader.Clear();
          //第一行表頭
          tcHeader.Add(new TableHeaderCell());
          tcHeader[0].Text = "序號<BR>No.";
          tcHeader.Add(new TableHeaderCell());
          tcHeader[1].Text = "附件名稱";
          tcHeader.Add(new TableHeaderCell());
          tcHeader[2].Text = "備注";
          tcHeader.Add(new TableHeaderCell());
          tcHeader[3].Text = "選擇</tr>";
        }
    }
    protected void HkrGridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        GridViewRow gr = e.Row;
        if (e.Row.RowIndex != -1)
        {
          e.Row.Cells[0].Text = (e.Row.RowIndex + 1).ToString();
        }
    }
    private void HkrGridViewBind(){
        string strSql = "SELECT keyId,newName, oldName, localHome,memo FROM aq_file_up WHERE (relaid = @relaid) AND (fjType = @fjType) AND (usestatus = 1)";
        SqlParameter[] sps = {
                  new SqlParameter("@relaid",this.hdnRelaId.Value),
                  new SqlParameter("@fjType",this.hdnFjType.Value)
                   };
        DataTable dt = pms.SqlHelper.ExecuteDataTable(CommandType.Text, strSql, sps);
        tabGridView1.DataSource = dt;
        tabGridView1.DataBind();
    }
    rotected void Button1_Click(object sender, EventArgs e)
    {
        CheckBoxAll.Checked = false;
        CheckBox1.Checked = false;
        for (int i = 0; i <= tabGridView1.Rows.Count - 1; i++)
        {
          CheckBox cb = (CheckBox)tabGridView1.Rows[i].FindControl("CheckBox");
          cb.Checked = false;
        }
    }
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
       for (int i = 0; i <= tabGridView1.Rows.Count - 1; i++)
        {
          CheckBox cb = (CheckBox)tabGridView1.Rows[i].FindControl("CheckBox");
          if (cb.Checked == false)
          {
            cb.Checked = true;
          }
          else
          {
            cb.Checked = false;
          }
        }
        //CheckBox1.Checked =true;
        CheckBoxAll.Checked = false;
    }
    protected void CheckBoxAll_CheckedChanged(object sender, EventArgs e)
    {
       for (int i = 0; i <= tabGridView1.Rows.Count - 1; i++)
        {
          CheckBox cb = (CheckBox)tabGridView1.Rows[i].FindControl("CheckBox");
          if (CheckBoxAll.Checked == true)
          {
            cb.Checked = true;
          }
          else
          {
            cb.Checked = false;
          }
        }
        CheckBox1.Checked = false;
    }
    希望本文所述對大家asp.net程序設(shè)計(jì)有所幫助。