- PR -

DataGridの制御でについて

1
投稿者投稿内容
あきんちょ
会議室デビュー日: 2002/08/17
投稿数: 4
投稿日時: 2002-09-15 23:50
皆さん、お疲れ様です。

DataGridの制御で困っています。

今まで何度かいろいろ試してみたことなのですが、
DataGridの背景色は自分で制御することはできないのでしょうか?

単色にして表示するということは当然できるのですが、
3行同色、1行白色の計4行を順番に回して表示しようと思ったのですが・・・
どうしてもうまくいきません。
DataGridの自動フォーマットでは一行おきに色が変わっているので
何とかできそうな気がするのですが・・・
どうなんでしょうか?

二つめにDataGridの各cellの細かい設定は可能なのでしょうか。
例えば、ある特定のcellにHyperLinkなどを設定したいのですが・・・

方法がわからないため、現在はテーブルに一行ずつ作成しています。
この方法だとデータが入っていない行も表示されてしまうので
正直好ましくはありません。

どなたかお分かりになる方、ご教授お願いします。





うりゅう
大ベテラン
会議室デビュー日: 2002/06/15
投稿数: 202
お住まい・勤務地: Hiroshima
投稿日時: 2002-09-16 23:18
あきんちょさんこんにちは。うりゅうです。

>今まで何度かいろいろ試してみたことなのですが、
>DataGridの背景色は自分で制御することはできないのでしょうか?
>単色にして表示するということは当然できるのですが、
>3行同色、1行白色の計4行を順番に回して表示しようと思ったのですが・・・

 以下のサンプルソースは、データグリッド内のテンプレート列のテキストボックスに任意の数値を埋め込むという質問の時のサンプルの応用形です。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Public Sub Uvview(ByVal dgrid As DataGrid)

Dim x As Integer
Dim item As DataGridItem

For Each item In dgrid.Items

Select Case x
Case 0 To 2
x += 1
item.BackColor = Color.Yellow
Case 3
x = 0
item.BackColor = Color.White
End Select
Next
End Sub
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
 バインドを行った後にこのメソッドを動かしてやれば、3行が黄色、1行が白色のループを最終行まで繰り返します。
 バインドそのもののはどちらかと言えばブラックボックスに近いのですが、その後に、For Each文で制御してやることで、かなりの自由性が出てきます。参考になれば幸いです。
_________________
--------------------------------------
ネットビルド 小田原貴樹
odahara@netbuiuld.jp
--------------------------------------
あきんちょ
会議室デビュー日: 2002/08/17
投稿数: 4
投稿日時: 2002-09-17 23:45
うりゅうさんこんばんわ。
返事が遅くなり申し訳ありません。

うりゅうさんに教えていただいた方法でうまく表示することができました!
セル単位で細かい設定ができることがわかったので、これからも色々
試してみようと思います。
使いにくいと思っていたDataGridですが、これからは大活躍してくれそうな気がします。

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

スキルアップ/キャリアアップ(JOB@IT)