C# Datagridview[是否为有效的排序字符串项]?
我有一个包含datagridview的表单,我正在将这个datagridview绑定到DB,我正在使用一个函数绑定(字符串sqlQuery),当我调用这一行时,datagridview中充满了数据:C# Datagridview[是否为有效的排序字符串项]?,c#,.net,datagridview,C#,.net,Datagridview,我有一个包含datagridview的表单,我正在将这个datagridview绑定到DB,我正在使用一个函数绑定(字符串sqlQuery),当我调用这一行时,datagridview中充满了数据: Bind("SELECT title,description,(CASE WHEN DATEDIFF(deadline,CURDATE()) > 0 THEN CONCAT('Dans ',DATEDIFF(deadline,CURDATE()), ' Jours') WHEN DATEDIF
Bind("SELECT title,description,(CASE WHEN DATEDIFF(deadline,CURDATE()) > 0 THEN CONCAT('Dans ',DATEDIFF(deadline,CURDATE()), ' Jours') WHEN DATEDIFF(deadline,CURDATE()) = 0 THEN CONCAT('Demain') ELSE CONCAT('Expiré depuis ', DATEDIFF(deadline,CURDATE()) * -1, ' Jours') END),progress FROM taches WHERE 1");
在dataGridView中正确填写数据:
问题:当我单击每个列标题时,数据被排序(升序或降序),除了单击列标题截止日期
时,应用程序停止工作,我得到一个异常,显示如下:
[(DATEDIFF(截止日期)不是有效的排序字符串项时的情况
当我点击该列时,如何使其可排序,或者至少如何避免引发此异常
“截止日期”列中可以包含的不同值如下:Dans X Jours
expireédepuis X Jours
Demain
其中
Dans X Jours
Demain
expireédepuis X Jours
X是表示天数的数字
如何使此列在没有异常的情况下可排序?尝试使用以下方法(我不是为了方便复制/粘贴而格式化):
在SQL查询中,您必须为deadline
列指定列名(下面是格式化的查询):
Bind("SELECT title,description,(CASE WHEN DATEDIFF(deadline,CURDATE()) > 0 THEN CONCAT('Dans ',DATEDIFF(deadline,CURDATE()), ' Jours') WHEN DATEDIFF(deadline,CURDATE()) = 0 THEN CONCAT('Demain') ELSE CONCAT('Expiré depuis ', DATEDIFF(deadline,CURDATE()) * -1, ' Jours') END) as deadline,progress FROM taches WHERE 1");
SELECT
title,
description,
(CASE
WHEN DATEDIFF(deadline,CURDATE()) > 0
THEN CONCAT('Dans ',DATEDIFF(deadline,CURDATE()), ' Jours')
WHEN DATEDIFF(deadline,CURDATE()) = 0
THEN CONCAT('Demain')
ELSE CONCAT('Expiré depuis ', DATEDIFF(deadline,CURDATE()) * -1, ' Jours')
END) as deadline,
progress
FROM
taches
WHERE 1