gridview中的checkbox为什么取不到傎?

enasp 2009-03-10 03:56:41
我的gridview中的checkbox是这样取值的((Label)GridView1.Rows[i].Cells[1].FindControl("Label1")).Text;

想换成以下,导出excel不知怎么换?


{

StringBuilder s = new StringBuilder();
s.AppendLine("<table style='width:800px' border=1>");
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox ck = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");
if (ck.Checked)
{
//GridView1.Columns
s.AppendLine("<tr>");
for (int j = 0; j < GridView1.Columns.Count; j++)
{
s.AppendFormat("<td>{0}</td>", GridView1.Rows[i].Cells[j].Text);
}
s.AppendLine("</tr>");

}
}
s.Append("</table>");
Export("application/ms-excel", "excel.xls", s.ToString());

...全文
197 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
showlie 2011-05-14
  • 打赏
  • 举报
回复
把你的GridView的Columns结构贴出来看看
或者你直接断点看看Cells[0].Controls里面的哪个Control才是CheckBox,然后直接获取Cells[0].Controls[n] as CheckBox
ymf5555 2011-05-14
  • 打赏
  • 举报
回复
用foreach循环
foreach (GridViewRow row in givCoporation.Rows)
{
CheckBox cbx = (CheckBox)row.FindControl("cbxChecked") as CheckBox;
}
lyp464686109 2010-01-30
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
FAC = Request.QueryString["FAC"];
DEPTNO = Request.QueryString["DEPTNO"];
objRes=objWF.DG_GetAllEmployee(FAC,DEPTNO);
this.GridView1.DataSource = objRes.dt.DefaultView;
this.GridView1.DataBind();
}


}
shaohui139 2009-03-11
  • 打赏
  • 举报
回复
在前台给CheckBox 添加属性AutoPostBack=true;
enasp 2009-03-11
  • 打赏
  • 举报
回复

s.AppendLine("<table style='width:800px' border=1>");


for (int i = 0; i < GridView1.Rows.Count; i++)
{


CheckBox ck = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");
if (ck.Checked)
{
//GridView1.Columns
s.AppendLine(" <tr>");
for (int j = 0; j < GridView1.Columns.Count; j++)
{

s.AppendFormat("<td>{0} </td>", ((Label)GridView1.Rows[i].Cells[j].FindControl("Label")).Text);

// 提示出错:System.NullReferenceException: 未将对象引用设置到对象的实例。

}
s.AppendLine(" </tr>");

}
}


s.Append("</table>");
Export("application/ms-excel", "excel.xls", s.ToString());


enasp 2009-03-11
  • 打赏
  • 举报
回复
为什么我的断点是这样的,没有取到值

(CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1") {Text = "" Checked = false} System.Web.UI.WebControls.CheckBox
yu285491710 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fly_to_the_winds 的回复:]
引用 4 楼 xiaowen_ly 的回复:
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{

}
}

up
[/Quote]
up
臭你个臭臭 2009-03-11
  • 打赏
  • 举报
回复
或者将CheckBox换成System.Web.UI.WebControl.CheckBox,如果提示你命名空间什么的
上面的cbox.Text一定能取到的,因为我正在用。
臭你个臭臭 2009-03-11
  • 打赏
  • 举报
回复
我刚用了

for(int i=0;i<=GridView1.Rows.Count-1;i++)
{
CheckBox cbox=(CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
Lebel.Test=cbox.Text;
}
enasp 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xiaowen_ly 的回复:]
for (int i = 0; i < GridView1.Rows.Count-1; i++)
{
CheckBox ck = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); if (ck.Checked)
{
//GridView1.Columns
s.AppendLine(" <tr>");
for (int j = 0; j < GridView1.Columns.Count; j++)
{
s.AppendFormat(" <td>{0…
[/Quote]

取到是空的。没有数据!我是label取值的
jfd198512 2009-03-10
  • 打赏
  • 举报
回复
http://vote.csdn.net/VotePost.aspx?voteid=1235
jfd198512 2009-03-10
  • 打赏
  • 举报
回复
顶!LZ
xiaowen_ly 2009-03-10
  • 打赏
  • 举报
回复
for (int i = 0; i < GridView1.Rows.Count-1; i++)
{
CheckBox ck = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); if (ck.Checked)
{
//GridView1.Columns
s.AppendLine("<tr>");
for (int j = 0; j < GridView1.Columns.Count; j++)
{
s.AppendFormat("<td>{0}</td>", GridView1.Rows[i].Cells[j].Text);
}
s.AppendLine("</tr>");

}
}
浮生若梦丶 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xiaowen_ly 的回复:]
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{

}
}
[/Quote]
up
xiaowen_ly 2009-03-10
  • 打赏
  • 举报
回复
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{

}
}
enasp 2009-03-10
  • 打赏
  • 举报
回复
label取值

看看我的giriview 能过浏览器--查看源代码


<span id="ctl00_mainholder_GridView1_ctl03_Label1">2</span>
</td><td style="width:150px;">
<a href='complaindisplay.aspx?feedID=3859e483-27c8-496d-9212-096a0e329ad5'>
<span id="ctl00_mainholder_GridView1_ctl03_Label2">我对“游泳衣约定”的看法</span></a>
</td><td style="width:60px;">
<span id="ctl00_mainholder_GridView1_ctl03_Label3">POI</span>
</td><td style="width:60px;">
<span id="ctl00_mainholder_GridView1_ctl03_Label4">我对“游泳衣约定”的看法</span>
</td><td style="width:60px;">
<span id="ctl00_mainholder_GridView1_ctl03_Label5"> </span>
</td><td style="width:60px;">
<span id="ctl00_mainholder_GridView1_ctl03_Label6">客户公司</span>
</td><td style="width:60px;">
<span id="ctl00_mainholder_GridView1_ctl03_Label7"> </span>
金大哈 2009-03-10
  • 打赏
  • 举报
回复
看错了 你到底是 label 取值 还是 checkbox取值 ?
金大哈 2009-03-10
  • 打赏
  • 举报
回复

我的gridview中的checkbox是这样取值的((Label)GridView1.Rows[i].Cells[1].FindControl("Label1")).Text;






我的gridview中的checkbox是这样取值的((Label)GridView1.Rows[i].Cells[1].FindControl("Label1")).Text;


标色的部分 很明显不对

62,267

社区成员

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

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

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

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