checkbox怎么取到gridview的每行的值?

enasp 2009-02-28 11:00:02
现在没法取到行中的每列值!

aa.aspx



<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField ItemStyle-Width="20">
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"
oncheckedchanged="CheckBox1_CheckedChanged" />
</ItemTemplate>

<ItemStyle Width="20px"></ItemStyle>
</asp:TemplateField>

<asp:TemplateField HeaderText="pID" SortExpression="pID" ItemStyle-Width="200" HeaderStyle-CssClass="e_hidden"
FooterStyle-CssClass="e_hidden" ItemStyle-CssClass="e_hidden">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"pID").ToString() %>'></asp:Label>
</ItemTemplate>

<FooterStyle CssClass="e_hidden"></FooterStyle>

<HeaderStyle CssClass="e_hidden"></HeaderStyle>

<ItemStyle CssClass="e_hidden" Width="200px"></ItemStyle>
</asp:TemplateField>



<asp:TemplateField HeaderText="标题" SortExpression="标题" ItemStyle-Width="150">
<ItemTemplate>
<a href='<%# "display.aspx?ID=" + DataBinder.Eval(Container.DataItem,"ID") %>'>
<asp:Label ID="Label7" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"标题").ToString() %>'></asp:Label></a>
</ItemTemplate>

<ItemStyle Width="150px"></ItemStyle>
</asp:TemplateField>

<asp:TemplateField HeaderText="分类" SortExpression="分类" ItemStyle-Width="60">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"分类").ToString() %>'></asp:Label>
</ItemTemplate>








aa.aspx.cs




public void GridBind()
{
DataTable dt = new DataTable();
DataTable dt2 = new DataTable();


dt2.Columns.Add("pID");
dt2.Columns.Add("标题");

foreach (DataRow dr in dt.Rows)
{


dt2.Rows.Add(
dr["pID"].ToString(),
dr["title"].ToString(),

);

}


GridView1.DataSource = dt2;
GridView1.DataBind();


}

protected void Button2_Click(object sender, EventArgs e)
{

for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox ck = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");
if (ck.Checked)
{

string pid = GridView1.Rows[i].Cells[1].Text.Trim();
string description = GridView1.Rows[i].Cells[2].Text.Trim();
...全文
106 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
独一无二 2009-02-28
  • 打赏
  • 举报
回复

protected void Button1_Click(object sender, EventArgs e)
{

string delstrId = string.Empty;
for (int j = 0; j < GridView1.Rows.Count ; j++)
{
CheckBox chose = (CheckBox)GridView1.Rows[j].FindControl("chk");
if (chose.Checked == true)
{
delstrId += GridView1.DataKeys[j].Value;
delstrId += ",";
}
}
string _allDel = delstrId.Substring(0, delstrId.Length - 1);

string delSql = "delete from smallclass where smallclassId in ("+_allDel+")";

new OledbDataBase().ExecuteSql(delSql);
bindSmall();

}



这个chk就代表 你的checkbox的ID值
jimu8130 2009-02-28
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(string));
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("sid", typeof(string));
GridViewRow[] Chartarr = new GridViewRow[GridView1.Rows.Count];
GridView1.Rows.CopyTo(Chartarr, 0);
foreach (GridViewRow row in Chartarr)
{
DataRow datarw;
datarw = dt.NewRow();
for (int i = 0; i < row.Cells.Count; i++)
{
datarw[i] = row.Cells[i].Text;
}

dt.Rows.Add(datarw);
}
this.GridView2.DataSource = dt;
this.DataBind();
蝶恋花雨 2009-02-28
  • 打赏
  • 举报
回复
 //删除选中的数据。可全删除。全选根据ID删除
protected void delWriteLog_Click(object sender, ImageClickEventArgs e)
{
sqlt.SetSQLBeginTrans();
try
{
for (int i = 0; i < rpMyReceiveLeaveWord.Items.Count; i++)
{
CheckBox CB = (CheckBox)rpMyReceiveLeaveWord.Items[i].FindControl("single_Chk");
if (CB.Checked == true)
{
string delID = ((HiddenField)rpMyReceiveLeaveWord.Items[i].FindControl("lwid")).Value;
cookies = Request.Cookies["UserCookies"];
if (cookies != null)
{
int uid = int.Parse(cookies["User_Uid"].ToString());//
sqlt.Operate("update a set a.delstate=1 from dbo.space_MyLeaveord a inner join dbo.bbs_users b on a.spaceno=b.itemno where b.uid=" + uid + " and a.leavewordid=" + delID);
}
}
} sqlt.SetSQLCommitTrans(); sqlt.ConClose();
}
catch
{
sqlt.SetSQLRollBack(); sqlt.ConClose(); base.MessageBox("00006", null);
}
this.PageFen();
}

<asp:CheckBox ID="single_Chk" name="selectAll" runat="server" />

<asp:HiddenField ID="lwid" Value='<%#Eval("leavewordid")%>' runat="server"/

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧