C# WinForm listview 如何将相同的行合并,数据是解析出来的
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 1 sdfsdf
883 月之心 1 sdfsdf
不是从数据库里查询出来的,是解析出来的
我的目的是 合并listview 相同的行
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 2 sdfsdf在线等高手,不甚感激
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 1 sdfsdf
883 月之心 1 sdfsdf
不是从数据库里查询出来的,是解析出来的
我的目的是 合并listview 相同的行
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 2 sdfsdf在线等高手,不甚感激
解决方案 »
- 如何获取别人网站上的图片路径
- C函数调用、小问题
- 新闻发布系统(增删改页面)
- 怎么把数据原样转如ORACLE的BLOB中
- vs2008,考验各路高手的时候来了。。。
- DataGridView 新行(*标行)获得焦点后,键盘输入产生新行,但代码赋值却不产生新行?
- 一个关于tabcontrol 的问题
- 100分 急寻BBS开发解决方案(详细的)
- CheckedListBox为啥没有数据绑定的功能呢?
- C#做WEB程序怎样将存在SQL的图片显示到DATAGRID里?大家再帮帮忙了!
- 调用系统api获得文件大小和修改时间
- 高分求解决:把短信猫收短信做成了windows服务,发送AT指令,没有返回值,怎么回事,求高手解决?
string[] columns = new string[DataTable.Columns.Count];
for (int index= 0; index < DataTableName.Columns.Count; index++)
{
columns[index] = DataTable.Columns[index].ColumnName;
}
DataTable dt = DataTable.DefaultView.ToTable(true, columns);
DataTable你解析得到的数据表,然后经过DataView.ToTable得到的dt为去掉重复的数据表
最后将dt绑定到listview
楼上的高手,如果我得到的是
SItemGrid[] items = bag.Items; //这里面就存在两个相同的道具,我需要将他们的数量合并,请问怎么做
IEnumerable<IGrouping<string, DataRow>> result = dt.Rows.Cast<DataRow>().GroupBy<DataRow, string>(d => d[8].ToString());
foreach (IGrouping<string, DataRow> ig in result)
重复的行手动合并
string[] columns = new string[DataTableSource.Columns.Count]; for (int index = 0; index < DataTableSource.Columns.Count; index++)
{
columns[index] = DataTableSource.Columns[index].ColumnName;
}
//得到不重复的数据行
DataTable dt = DataTableSource.DefaultView.ToTable(true, columns); foreach (DataRow dr in dt.Rows)
{
DataRow[] drs = DataTableSource.Select(string.Format("编号='{0}'", dr["编号"].ToString()));
if (drs.Length > 0)
{
int num = 0;
foreach (DataRow row in drs)
{
num += int.Parse(row["数量"].ToString());
}
dr["数量"] = num.ToString();
}
} dataGridView1.DataSource = dt;