- - PR -
C#のDataGridで行番号を表示する方法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-05-20 19:09
現在Visual C#で簡単なDBのデータを見るアプリを作っています。
DataGridのDataSourceへはOleDataAdapterでDataSetを作ってバインドしており、テーブルの列名も自動で列ヘッダーに設定されて楽チンなのですが、欲張って行ヘッダに行番号も表示しようと考えました。 そこで、VB6のころは簡単だったから・・・と思いながらいろいろ調べてみたのですが、結局やり方がわからない状態です。。 もし行ヘッダに行番号を表示する方法をご存知の方がいらっしゃいましたらご教授いただけないでしょうか。 | ||||
|
投稿日時: 2004-05-20 19:19
『行ヘッダに行番号』というのがよくわからないのですが、
こういう感じ? それで、VB6の頃は、どうやって表示していました? 私だったら、データベース側で振ってしまうかな? SELECT ROWNUM AS "行番号", ・・・ | ||||
|
投稿日時: 2004-05-21 10:13
Jittaさんありがとうございます。
私がしたかったのはJittaさんの絵の通りです。説明不足で申し訳ありませんでした。 VB6では、MSFlexGridを使って、FixedCols=1として、そこに値(行番号)を設定していました。(Col=0で参照できたので) そもそもDataGridをMSFlexGridは違うので比較はできないとは思いますが、MSFlexGridでは固定列が普通の列と同じように扱えたので、C#でも同じようなことができないかと思い調べていました。値をDataSourceで設定している以上、Jittaさんのおっしゃる通りselect文にrownumをつけて、一番左の列の色を変えて行ヘッダーぽくするしかないのでしょうかね・・・。 | ||||
|
投稿日時: 2004-05-21 10:44
あ、列固定ですか。
これ、かなり苦労します。まず、DataGridを2つ用意します。これで想像つきます?
少し間を開けたのですが、このようにDataGridを横に2つ並べて、「データ表示用」の「たてスクロール」イベントを拾って(これは、スクロールボックスコントロールなどを利用する)、「列ヘッダ用」グリッドの表示位置を調整します。 「datagrid 列 固定 windows」で検索すると、例が見つかるかもしれません。 #Webアプリなら、例はすぐに出せるのだが | ||||
|
投稿日時: 2004-05-21 11:09
なるほど・・・大変ですね・・
「datagrid 列 固定 windows」で検索してみると、他の会議室でも似たようなスレッドがいくつかありました。 Datagridで横スクロール時の列固定 みなさん同じようなことで悩んでおられるんだなと^^; とりあえずDataGridにそのような機能がないということがわかりましたので、Jittaさんの方法も含めていろいろ試してみます。 どうもありがとうございました! |
1