C# WinForm listview 怎么将相同的行合并
C# WinForm listview 如何将相同的行合并
C# WinForm listview 如何将相同的行合并,数据是解析出来的
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 1 sdfsdf
883 月之心 1 sdfsdf
不是从数据库里查询出来的,是解析出来的
我的目的是 合并listview 相同的行
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 2 sdfsdf
在线等高手,不甚感激
------解决方案--------------------
var value=(from v in listview select v.道具编号).Distinct().ToList();
上面是linq筛选,这样得到的list就是去到重复的啦,试试吧
------解决方案--------------------
可以用泛型分组,然后重新构建DataTable
IEnumerable<IGrouping<string, DataRow>> result = dt.Rows.Cast<DataRow>().GroupBy<DataRow, string>(d => d[8].ToString());
foreach (IGrouping<string, DataRow> ig in result)
重复的行手动合并
------解决方案--------------------
C# WinForm listview 如何将相同的行合并,数据是解析出来的
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 1 sdfsdf
883 月之心 1 sdfsdf
不是从数据库里查询出来的,是解析出来的
我的目的是 合并listview 相同的行
道具编号 道具名称 道具数量 角色名称
289 新手衣服 1 sdfsdf
883 月之心 2 sdfsdf
在线等高手,不甚感激
------解决方案--------------------
var value=(from v in listview select v.道具编号).Distinct().ToList();
上面是linq筛选,这样得到的list就是去到重复的啦,试试吧
------解决方案--------------------
可以用泛型分组,然后重新构建DataTable
IEnumerable<IGrouping<string, DataRow>> result = dt.Rows.Cast<DataRow>().GroupBy<DataRow, string>(d => d[8].ToString());
foreach (IGrouping<string, DataRow> ig in result)
重复的行手动合并
------解决方案--------------------
- C# code
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;