找回密码
 立即注册

QQ登录

只需一步,快速开始

moriya

论坛元老

78

主题

189

帖子

4万

积分

论坛元老

积分
42318

活字格认证

[已处理] 排序的速度問題

moriya
论坛元老   /  发表于:2013-5-14 19:08  /   查看:4094  /  回复:1
因為要對控件中的數據進行操作,所以採用了循環綁定數據

for (int i = 0; i < dv.Table.Rows.Count; i++)
                {
                    for (int j = 0; j < dv.Table.Columns.Count; j++)
                    {
                        fpsDailyMainGroup_Sheet1.Cells[i, j].Value = dv.Table.Rows[j].ToString();
                    }
                }
這個控件使用了雙表頭,在點擊第二層表頭的時候會進行排序操作
在6000+數據的時候,點擊排序大概2-3秒鐘
但是因為日期的格式也轉換為string,排序的時候出現問題,如2012-12-12會排在2012-12-5的前面
於是修改代碼為
for (int i = 0; i < dv.Table.Rows.Count; i++)
                {
                    for (int j = 0; j < dv.Table.Columns.Count; j++)
                    {
                        fpsDailyMainGroup_Sheet1.Cells[i, j].Value = dv.Table.Rows[j];
                    }
                }
其實僅僅就是去掉了tostring,這個時候6000+數據,在點擊某些欄位的時候速度和tostring是一樣的,但是在排序有些欄位的時候,主要是數據不是全部有值的欄位(就是這個欄位的值有可能為空),排序就會慢到出不了結果

1 个回复

倒序浏览
山水
初级会员   /  发表于:2013-5-15 16:29:00
沙发
您好,
      根据您的描述,我创建了一个例子程序试图模拟重现您遇到的问题,但是没能做到。
      您能否把您遇到的问题做成一个可重现的Demo,然后我们能够使用您的Demo, 重现之, 分析之,解决之?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部