救命啊!!!!!!?????

amu0528 2005-04-24 08:45:57
我用绑定列对datagrid 进行绑定
在ItemDataBound事件中我要取得第一列的值的和
显示在第一列的Footer
但是用 datagrid.Items[0].Cells[0].Text 要取得
第一行第一列是就出错
望各位指点
...全文
96 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
huangsuipeng 2005-04-24
ItemDataBound对一个ROW有效
把e.item.Cells[i]的值加起来放到
i 从1到CELLS数目,如果你的DG无有BUTTON列,全是BOUND COLUMN
回复
adventure007 2005-04-24
item[index]的index是从除了表头的外的一行开始算起的,也就是如果你的Index=0,则它是指向了DataGrid的第二行的.
回复
hchxxzx 2005-04-24
ItemDataBound事件里面,数据还在处理,你怎么去加它?而且,此事件里面,如果你的数据有多少行,它就循环多少次,你这效率??
你应当在数据绑定之后,立即自己创建一个循环去相加
this.datagrid1.DataBind();
int kk = 0;
for(int i=0;i<this.datagrid1.Items.Count;i++)
{
kk += Convert.ToString(this.datagrid1.Items[i].Cells[0].ToString());
}

//写到页脚去
TableCell myCell = (TableCell)this.datagrid1.Controls[0].Controls[this.datagrid1.Items.Count+1].Controls[0];
myCell.Text = kk.ToString();
回复
amu0528 2005-04-24
还是不行啊
回复
scocsdn 2005-04-24
判断一下
if(e.Item.ItemType!=ListItemType.Header && e.Item.ItemType!=ListItemType.Footer)
{

}
回复
singlepine 2005-04-24
private void dg_Query_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemIndex>-1)
{
dg_Query.Columns[0].FooterText="合计";
string str=dg_Query.Items[0].Cells[0].Text;
}
}
回复
amu0528 2005-04-24
楼上的
能具体点不?
回复
singlepine 2005-04-24
要判断,这样处理
if(e.Item.ItemIndex>-1)
{
//绑定
}
回复
amu0528 2005-04-24
private void dg_Query_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{

dg_Query.Columns[0].FooterText="合计";

string str=dg_Query.Items[0].Cells[0].Text;}
回复
scocsdn 2005-04-24
代码贴出来吧
回复
amu0528 2005-04-24
错误信息
索引超出范围。必须为非负值并小于集合大小。参数名: index
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2005-04-24 08:45
社区公告
暂无公告