C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DataGridの表示制御について


(過去ログ 30 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■14170 / inTopicNo.1)  DataGridの表示制御について
  
□投稿者/ パジャマ (1回)-(2008/02/12(Tue) 10:14:50)

分類:[.NET 全般] 

初めまして。
いつも参考にさせて頂いております。

初歩的な事ですが解決方法が思いつかなかったので
投稿させて頂きました。

SQLで
"SELECT ID,契約者,電話番号,日付 AS T1 FROM TableA WHERE ID=@keiNum union all " +
"SELECT ID,契約者,電話番号,日付 AS T1 FROM TableB WHERE ID=@keiNum union all " +
"SELECT ID,契約者,電話番号,日付 AS T1 FROM TableC WHERE ID=@keiNum ORDER BY T1 DESC"
と記述して後のコードでDataBindにて表示をさせています。

表示の際に日付を降順で表示させているのですが、「TableA」の値は必ずDataBindの一番最初に表示させたいのですが「TableB」の日付が「TableA」の日付より新しいとその表示はできなくなります。

いい解決方法ありましたらどうぞご教示下さい。
よろしくお願い申し上げます。


引用返信 編集キー/
■14171 / inTopicNo.2)  Re[1]: DataGridの表示制御について
□投稿者/ Mr.T (180回)-(2008/02/12(Tue) 10:51:30)
Mr.Tです、こんにちは。

> 表示の際に日付を降順で表示させているのですが、「TableA」の値は必ずDataBindの一番最初に表示させたいのですが「TableB」の日付が「TableA」の日付より新しいとその表示はできなくなります。
> 

私だったら、Selectする際に、その順番で並べ替えられるか、という形に問題をシフトします。
とすれば、日付以外にも並び換えの対象にしてしまうものがあればいい。

例えば、テーブルAでとってくるものは、一番目だから、単純に1という即値を列に持たせよう。
テーブルBでとってくるものは、2という即値を列に持たせよう。
みたいな感じに考えて、

select ID,契約者,電話番号,日付 AS T1,1 as 順位 from tableA ...
union all
select ID,契約者,電話番号,日付 AS T1 ,2 as 順位 from tableB ...
order by 順位 asc,T1 desc

あとは、順位をフィールドにBindさせなければいいのではないかと。

引用返信 編集キー/
■14173 / inTopicNo.3)  Re[2]: DataGridの表示制御について
□投稿者/ パジャマ (2回)-(2008/02/12(Tue) 12:07:00)
No14171 (Mr.T さん) に返信
 Mr.Tさん

 ありがとうございました!

 > 日付以外にも並び換えの対象にしてしまうものがあればいい。

 なるほど!
 思いつきませんでした。。。

 経験不足ですね。

 アドバイス頂いた様に修正した所、期待通りの表示ができました!

 本当にありがとうございました!

 また、簡単なご質問で申し訳ありませんでした。

 もっと勉強いたします。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -