找回密码
 立即注册

QQ登录

只需一步,快速开始

wbvwbv

中级会员

3

主题

7

帖子

526

积分

中级会员

积分
526

活字格认证

最新发帖
wbvwbv
中级会员   /  发表于:2014-6-20 10:10  /   查看:6826  /  回复:6
C1DataGrid 有空值的数字列
点击列头 第一次能正常升序排序,空值在前面;
但之后再次点击,想降序,排序就不能触发了

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-6-24 12:14:00
沙发
回复 1楼wbvwbv的帖子

请问有空值的数字列指的是列中某个单元格数值为空吗?我通过下面代码测试,如果不设置int值则默认值会自动设为 0:

  1.         public MainWindow()
  2.         {
  3.             InitializeComponent();

  4.             List<test> ts = new List<test>();
  5.             for (int i = 0; i < 10; i++)
  6.             {
  7.                 test t = new test();
  8.                 if (i > 3)
  9.                 {
  10.                     t.ID = i;
  11.                 }

  12.                 t.Name = "ceshi";
  13.                 ts.Add(t);
  14.             }

  15.             this.c1datagrid1.ItemsSource = ts;
  16.         }
  17.     }

  18.     public class test
  19.     {
  20.         public int ID
  21.         { get; set; }

  22.         public string Name
  23.         { get; set; }
  24.     }
复制代码

请对比和你的使用方式有什么不同?
回复 使用道具 举报
wbvwbv
中级会员   /  发表于:2014-7-3 11:58:00
板凳

该列,对应属性我使用的是object类型,不是基本类型。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-3 18:29:00
地板
回复 3楼wbvwbv的帖子

恩,问题我已经重现了。
下来反馈给产品组,有进一步消息通知你。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-7 10:55:00
5#
回复 3楼wbvwbv的帖子


wbvwbv 你好,
使用 Studio for WPF 2014V1 测试。
默认情况下如果列类型为 object ,那么该列将不允许通过点击列头排序,需要设置以下代码才能正常排序:

  1. this.c1datagrid1.Columns[0].CanUserSort = true;
复制代码

效果图:



Demo:


请你测试下,看是否可以解决你的问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
wbvwbv
中级会员   /  发表于:2014-7-7 13:53:00
6#
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-7 16:44:00
7#
回复 6楼wbvwbv的帖子

请问问题解决了吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部