datagridviewを含むフォームがあり、このdataGridViewをDBにバインドし、関数Bind(string sqlQuery)を使用しています。この行を呼び出すと、datagridViewはデータで埋められます。
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に正しく入力されています:
問題:各columnHeaderをクリックすると、列ヘッダーをクリックした場合を除いて、データが(昇順または降順で)並べ替えられdeadline
、アプリケーションが動作を停止し、次のような例外が発生します。
[(CASE WHEN DATEDIFF(deadline isn't a valid Sort string entry
列をクリックしたときに列を並べ替え可能にするにはどうすればよいですか、少なくともこの例外がスローされないようにするにはどうすればよいですか?
「期限」列に含めることができるさまざまな値は次のとおりです。
Dans X Jours
Expiré depuis X Jours
Demain
ここでDans X Jours
>>Demain
Expiré depuis X Jours
Xは日数を表す数値です!
この列を例外なしでソート可能にするにはどうすればよいですか?