先看效果图:
前台代码:样式自己定义哦!
<div style="text-align: center; width: 80%">
<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" style="text-align: right">
<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();
}
protected 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;
}