c1datagrid 排序联动问题
我将数据中数据读到datatable与datagrid绑定,代码如下:SqlCommand cmd = new SqlCommand(CmdString, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable(dataName);
sda.Fill(dt);
dataGridName.ItemsSource = dt.DefaultView;
然后出现了点击datagrid列头排序,就当前列会排序,别的列不联动,这是什么原因? 回复 1楼子曰的帖子
感谢你的代码和反馈。
你的意思是说只能针对单列排序(排序后点击另一列,清除掉之前的排序信息,按照新点击的列排序),这是目前产品设计的排序方式。但是你希望的是多列排序?
为了帮助你解决问题,需要了解你的排序的需求是什么? 回复 2楼Alice的帖子
我想要的只是最普通的排序功能,点击这一列排序,别的列随着第一列的变化。
现在是点击这一列排序,别的列不跟随第一列变化。 回复 3楼子曰的帖子
很抱歉不能重现你的问题。
由于没有你的数据源,我模拟你的数据进行测试。
数据如下:
DataTable dt = new DataTable();
DataColumn d1 = new DataColumn("Temporary1", typeof(string));
dt.Columns.Add(d1);
DataColumn d2 = new DataColumn("Temporary2", typeof(string));
dt.Columns.Add(d2);
DataColumn d3 = new DataColumn("Temporary3", typeof(string));
dt.Columns.Add(d3);
dt.Rows.Add(new object[] { 1, 2, 3 });
dt.Rows.Add(new object[] { 4, 4, 1 });
dt.Rows.Add(new object[] { 2, 1, 5 });
dt.Rows.Add(new object[] { 3, 0, 2 });
grid.ItemsSource = dt.DefaultView;
运行时,显示如下:
点击第一列进行排序后,结果如下:
别的列跟随第一列发生了变化。
如果有什么不同,请指出,最好提供重现该问题的Demo。谢谢。 回复 4楼Alice的帖子
附件中是demo,先要附加下数据库,然后需要改下Data Source
程序是从数据库得到数据,然后绑定,排序就出现问题了。 回复 5楼子曰的帖子
你的Demo已经收到了,测试后给你回复。
谢谢。 回复 6楼Alice的帖子
很抱歉,你的Demo中bin\Dedug文件夹下的demo.exe,无法运行。
我修改后依然报错。
你能在Demo中使用相对路径,比如string path=Environment.CurrentDirectory,获取一个相对路径。
在本地运行起来,重新将Demo发给我。或是将bin\Deug的exe可执行文件发给我。 回复 7楼Alice的帖子
我这个demo需要你改下private const string ConString = "Data Source=TVXTWMJLCX4JPWH\\LABVAS;Database=db_Pre;Trusted_Connection=Yes;Connect
这里的Data Source = 当前你的数据库名字,
然后附加下文件夹下的db_Pre数据库 回复 7楼Alice的帖子
我直接给你看看图吧,
点击第一列和第二列时都会出现问题,第四列就不会。 回复 8楼子曰的帖子
很抱歉你的mdf数据库我打不开。
C1DataGrid的排序和数据源类型基本没有关系,它并不关心是sql还是access数据库。推测原因在数据类型或是数据本身。
请你将mdf的数据库转成access数据库发给我。
最好有两张排序前后的对比图,看看数据的情况。
谢谢。
页:
[1]
2