asp.net Checbox在GridView中的應(yīng)用實(shí)例分析
本文實(shí)例講述了asp.net Checbox在GridView中的應(yīng)用方法。分享給大家供大家參考,具體如下:
先看效果圖:

前臺(tái)代碼:樣式自己定義哦!
<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>
后臺(tái)代碼:
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 = "序號(hào)<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;
}
更多關(guān)于asp.net相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《asp.net操作json技巧總結(jié)》、《asp.net字符串操作技巧匯總》、《asp.net操作XML技巧總結(jié)》、《asp.net文件操作技巧匯總》、《asp.net ajax技巧總結(jié)專題》及《asp.net緩存操作技巧總結(jié)》。
希望本文所述對(duì)大家asp.net程序設(shè)計(jì)有所幫助。
- asp.net實(shí)現(xiàn)固定GridView標(biāo)題欄的方法(凍結(jié)列功能)
- 在ASP.NET 2.0中操作數(shù)據(jù)之六十四:GridView批量添加數(shù)據(jù)
- 在ASP.NET 2.0中操作數(shù)據(jù)之十:使用 GridView和DetailView實(shí)現(xiàn)的主/從報(bào)表
- ASP.NET數(shù)據(jù)綁定GridView控件使用技巧
- ASP.NET數(shù)據(jù)綁定之GridView控件
- ASP.NET中GridView的文件輸出流方式
- ASP.NET中GridView、DataList、DataGrid三個(gè)數(shù)據(jù)控件foreach遍歷用法示例
- asp.net GridView中使用RadioButton單選按鈕的方法
- ASP.NET中GridView 重復(fù)表格列合并的實(shí)現(xiàn)方法
相關(guān)文章
asp.net Web Service 接口大量數(shù)據(jù)傳輸解決方案
就管他叫“使用多線程分段獲取大量數(shù)據(jù)方法”吧。假定我們的需求是,通過Web Service獲取10W條訂單,我的解決方案是 分成10個(gè)線程每個(gè)線程傳輸1W條訂單分段獲取2010-04-04
ASP.NET配合jQuery解決跨域調(diào)用的問題
這篇文章主要介紹了ASP.NET配合jQuery解決跨域調(diào)用的問題,簡(jiǎn)單實(shí)用,需要的朋友可以參考下。2016-06-06
ASP.NET中根據(jù)XML動(dòng)態(tài)創(chuàng)建使用WEB組件
ASP.NET中根據(jù)XML動(dòng)態(tài)創(chuàng)建使用WEB組件...2006-09-09
asp.net實(shí)現(xiàn)中英文多域名檢測(cè)的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)中英文多域名檢測(cè)的方法,涉及asp.net針對(duì)URL中域名的解析及字符串操作相關(guān)技巧,需要的朋友可以參考下2016-08-08
[Asp.Net Core]用Blazor Server Side實(shí)現(xiàn)圖片驗(yàn)證碼
這篇文章主要介紹了如何用Blazor Server Side實(shí)現(xiàn)圖片驗(yàn)證碼,文中講解非常詳細(xì),代碼幫助大家更好理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法
這篇文章主要介紹了Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法,采用該方法在導(dǎo)出Excel的時(shí)候不需要office組件的支持,而在導(dǎo)入Excel的時(shí)候采用OleDb的方式,需要office組件的支持。是一個(gè)非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09
高效的.Net UDP異步編程實(shí)現(xiàn)分析
重點(diǎn)是怎么建立一種高效的UDP機(jī)制來(lái)實(shí)時(shí)接收服務(wù)器發(fā)送過來(lái)的數(shù)據(jù)包.本文將介紹.Net UDP異步編程如何實(shí)現(xiàn)解決方案,有需求的朋友可以參考下2012-11-11
asp.net中Word轉(zhuǎn)Html的辦法(不需要WORD組件)
最近碰到一個(gè)需求,在文本編輯器中實(shí)現(xiàn)“Word導(dǎo)入”功能 發(fā)現(xiàn)了幾種方法,只是作為總結(jié)使用2013-04-04

