请教一个关于获取tableCell的text值的问题!

gesnpt 2004-06-17 07:07:07
我在程序前面定义了一个名为tbResult的table,而且已经初始化好了,
增加了很多的row和cell,并赋了值。
现在我想获取每一个cell的值用于累加,
我用tbResult.Rows[0].Cells[1].Text获取不到cell的值是为什么?
如果想获取cell的值应该怎么写?谢谢!
...全文
384 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
自己找到原因了,结贴,谢谢大家!
saucer 2004-06-18
  • 打赏
  • 举报
回复
把你调用的编码贴出来,或者自己Debug看tbResult其中内容变化
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
执行完上面的代码,我的table就构造完了,现在我想取tableCell的值,
但是就是取不出来,不明白为什么?
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
saucer(思归/MVP),
我单独在一个页面照你这么写可以获取text的值,
可是在我自己的页面就不行,区别就是我定义了一个全局变量
Table tbResult;
然后在不同的函数中操作tbResult这个对象,以下是我主要的程序
private void ConstructTable(ref string refQuerySQL)
{
TableRow rowResult = new TableRow();
string strTmp="\\NULL//",strTmp2="";
OleDbCommand commSQL = new OleDbCommand(refQuerySQL,dbConnection);
OleDbDataReader rdEgood = commSQL.ExecuteReader();
while(rdEgood.Read())
{
strTmp2 = rdEgood[1].ToString().Trim();
if(strTmp!=strTmp2)//insert a row
{
tbResult.Rows.Add(rowResult);
rowResult = new TableRow();
nAltermate = (++nAltermate%2);
if(nAltermate==1)
rowResult.BackColor = Color.AliceBlue;
else
rowResult.BackColor = Color.White;
InsertCell("LightGray",rdEgood[4].ToString().Trim(),ref rowResult);
InsertCell("LightGray",rdEgood[5].ToString().Trim(),ref rowResult);
InsertCell("LightGray","",ref rowResult);
InsertCell("LightGray",rdEgood[6].ToString().Trim(),ref rowResult);
InsertCell("LightGray",rdEgood[1].ToString().Trim(),ref rowResult);
InsertCell("LightGray",rdEgood[2].ToString().Trim(),ref rowResult);
InsertCell("LightGray","",ref rowResult);
for(int i=7;i<arrHead.Count;i++) //fill with space for each cell
InsertCell("","",ref rowResult);
strTmp = strTmp2;
}
for(int i=7;i<arrHead.Count;i++)//update cell(amount) to fit position
{
if(arrHead[i].ToString().Trim() == rdEgood[3].ToString().Trim())
{
rowResult.Cells[i].Text = rdEgood[0].ToString().Trim();
rowResult.Cells[i].ToolTip = rdEgood[2].ToString().Trim()+"(机型:"+arrHead[i].ToString().Trim()+")";
rowResult.Cells[i].Wrap = false;
}
}
}
tbResult.Rows.Add(rowResult);
rdEgood.Close();
commSQL.Dispose();
}
uno 2004-06-18
  • 打赏
  • 举报
回复
tbResult.Rows[0].Cells[0].Controls有多少?
saucer 2004-06-18
  • 打赏
  • 举报
回复
show your code, or try

Table t = new Table();
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tc.Text = "abc";
tr.Cells.Add(tc);
t.Rows.Add(tr);
Response.Write("***" + t.Rows[0].Cells[0].Text + "***");
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
saucer(思归/MVP),
你说的是增加第一行,没有问题,我现在是已经有了第一行,
可以更改第一行每一个Cell的值,但是就是没法获取它的值,
为什么?
saucer 2004-06-18
  • 打赏
  • 举报
回复
have you tried YourTable.Rows.AddAt(0,YourTableRow)?
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
String temp = tbResult.Rows[0].Cells[1].Text;
这样不行,取出来是空的,
tbResult.Rows[0].Cells[1].Text = "ddddddd";
这样就可以,可以设置单元格的值。
可是我看帮助说Text是设置和获取Cell的值呀?
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
我都快晕了,好像设置值都可以,但是获取值都不行,这是为什么呀?
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
找到问题了,现在想请教一下怎么定义一个tablerow使它成为rowResult的第一行?
TableRow rowResult = tbResult.Rows[0];
上面的写法是错误的!
真相重于对错 2004-06-18
  • 打赏
  • 举报
回复
贴完整代码
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
我是用下面的语句做循环给cell赋值的
rowResult.Cells[i].Text = rdEgood[0].ToString().Trim();

现在我想取cell的值
String temp = tbResult.Rows[0].Cells[1].Text;

可是取出来都是空的,可是我输出tbResult的行数是正确的,说明tbResult
已经构造和赋值好了呀!
veryhappy 2004-06-18
  • 打赏
  • 举报
回复
你跟踪一下看你要取tableCell值的时候,cell还有没有了,table的创建要放到!Page.IsPostBack的外面
saucer 2004-06-18
  • 打赏
  • 举报
回复
你是怎么赋值的,把编码贴出来吧,省人让人乱猜
liangshaojun 2004-06-18
  • 打赏
  • 举报
回复
要不在每一格中添加一个Label控件,给其Text赋值,再通过得到Label的Text值累加
gesnpt 2004-06-18
  • 打赏
  • 举报
回复
楼上你说的是JS吧,我是要在后台获取,用的是C#。
dbase 2004-06-17
  • 打赏
  • 举报
回复
tbResult.Rows[0].Cells[1].innerHTML

62,046

社区成员

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

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

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

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