| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1568 人关注过本帖
标题:[求助]关于datagrid删除重复行
只看楼主 加入收藏
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
 问题点数:0 回复次数:13 
[求助]关于datagrid删除重复行
部门 项目名称 材料费 制造费用 小计
事业部 PG5076(凤台管件) 100 100 200
事业部 PG5076(凤台管件) 200 200 400
事业部 PG5076(凤台管件) 300 300 600
事业部 PG6058(锦界管件) 400 400 800
事业部 PG6058(锦界管件) 500 500 1000

部门和项目名称相同的数据合并,材料费 制造费 小计相加,上面的数据是datagrid已经查询出的数据,要在这个datagrid上操作,大概是循环判断部门和项目名称是否相等,如果相等就把材料费 制造费 小计相加,删除重复的行,只删除datagrid里显示的数据而不是数据库里的,下面是最后得出结果

部门 项目名称 材料费 制造费用 小计
事业部 PG5076(凤台管件) 600 600 1200
事业部 PG6058(锦界管件) 900 900 1800


int z=dgItem.Items.Count;
for(int i=0;i<z;i++)
{
for(int j=0;j<z;j++)
{
if(dgItem.Items[i].Cells[0].Text==dgItem.Items[j].Cells[0].Text || dgItem.Items[i].Cells[1].Text==dgItem.Items[j].Cells[1].Text)
{
dgItem.Items[i].Cells[2].Text=Convert.ToString(Convert.ToDouble(dgItem.Items[i].Cells[2].Text)+Convert.ToDouble(dgItem.Items[j].Cells[2].Text));
dgItem.Items[i].Cells[3].Text=Convert.ToString(Convert.ToDouble(dgItem.Items[i].Cells[3].Text)+Convert.ToDouble(dgItem.Items[j].Cells[3].Text));
dgItem.Items[i].Cells[4].Text=Convert.ToString(Convert.ToDouble(dgItem.Items[i].Cells[4].Text)+Convert.ToDouble(dgItem.Items[j].Cells[4].Text));
}
}
}

我是这么写得,不过最后删除dgItem.Items[j]要怎么写啊??

[此贴子已经被作者于2007-3-13 9:49:37编辑过]

搜索更多相关主题的帖子: datagrid 删除 
2007-03-13 09:36
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
还不完全懂你的意思

海鸽 is My Lover!!
2007-03-13 11:13
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
就是判断第1行部门和项目名称和第2行的是否相同,如果相同合并把材料费 制造费 小计相加,然后把第2行删除,然后再往下判断.
int z=dsThis.Tables["ItemThis"].Rows.Count;
for(int i=0;i<z;i++)
{
if(dsThis.Tables["ItemThis"].Rows[i][0].ToString()==dsThis.Tables["ItemThis"].Rows[i][0].ToString() || dsThis.Tables["ItemThis"].Rows[i][1].ToString()==dsThis.Tables["ItemThis"].Rows[i][1].ToString())
{
int a=dsThis.Tables["ItemThis"].Rows.Count;
dsThis.Tables["ItemThis"].Rows[i][4]=Convert.ToString(Convert.ToDouble(dsThis.Tables["ItemThis"].Rows[i][4].ToString())+Convert.ToDouble(dsThis.Tables["ItemThis"].Rows[i+1][4].ToString()));

dsThis.Tables["ItemThis"].Rows[i+1].Delete();
dsThis.AcceptChanges();
}

}
这个是在DataTable里写的,提示错误是字符串格式错误,应该怎么写啊??

[此贴子已经被作者于2007-3-13 11:29:53编辑过]


新建的群(C#):23384106 验证注明
2007-03-13 11:28
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
有可能像下面的样子,那你就要全部弄好后,再删除

部门 项目名称 材料费 制造费用 小计
事业部 PG5076(凤台管件) 100 100 200
事业部 PG6058(锦界管件) 500 500 1000
事业部 PG5076(凤台管件) 300 300 600
事业部 PG6058(锦界管件) 400 400 800
事业部 PG5076(凤台管件) 200 200 400

海鸽 is My Lover!!
2007-03-13 11:31
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
那就在加一个循环
int z=dsThis.Tables["ItemThis"].Rows.Count;
for(int i=0;i<z;i++)
{
if(dsThis.Tables["ItemThis"].Rows[i][0].ToString()==dsThis.Tables["ItemThis"].Rows[i][0].ToString() || dsThis.Tables["ItemThis"].Rows[i][1].ToString()==dsThis.Tables["ItemThis"].Rows[i][1].ToString())
{
for(int j=0;j<z;j++)
{
int a=dsThis.Tables["ItemThis"].Rows.Count;
double s=(Convert.ToDouble(dsThis.Tables["ItemThis"].Rows[i][4].ToString())+Convert.ToDouble(dsThis.Tables["ItemThis"].Rows[j][4].ToString()));

dsThis.Tables["ItemThis"].Rows[j].Delete();
dsThis.AcceptChanges();
}
}
}

我知道我写的有很多错,大哥帮我改下吧,只要能实现就行

新建的群(C#):23384106 验证注明
2007-03-13 11:45
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
datagrid的数据难道不是读取数据库中的数据吗?

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-03-13 12:17
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
数据是在数据库里取出来的,我说的是删除重复行的时候不能删数据库里的东西

新建的群(C#):23384106 验证注明
2007-03-13 12:26
jkgeng
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-12
收藏
得分:0 
能不能用统计啊?
2007-03-13 13:26
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
不管用什么只要告诉我怎么做能实现就行啊
郁闷一天了

新建的群(C#):23384106 验证注明
2007-03-13 13:32
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

我只知道一个字段的重复合计:
select 项目名称,sum(材料费) as 材料费合计,sum(制造费用) as 制造费用合计,sum(小计) as 合计 from 表名 group by 项目名称


如果加上:部门+项目名称 =唯一值 我就不会了但棉花糖ONE能解决!

2007-03-16 17:01
快速回复:[求助]关于datagrid删除重复行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017915 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved