- PR -

DataGridの色を変える

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-03-28 15:42
ステータスを表示するDataGridがあります。
ステータスにより行の色を変えたいのですが、その方法を伝授願います。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-03-28 17:25
ステータスというのが何のことを言っているのか分かりませんが、
こういうことではないのですか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3995&forum=7
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-03-28 18:05
statusを列に持つDataTable型のデータがあるのですが、このstatusの値により
行の色を変えることを考えています。

下記を使うことは分かったのですが、ステータスが1の場合は、その行は緑色
ステータスが2の場合は青色と分けたいのですが。

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
End SuB

引用:

一郎さんの書き込み (2003-03-28 17:25) より:
ステータスというのが何のことを言っているのか分かりませんが、
こういうことではないのですか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3995&forum=7

damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-03-31 18:19
ありがとうございました。
下記の様にすることで解決できました。

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound

If e.Item.ItemType = ListItemType.Header Then

'ヘッダーのみ
e.Item.Cells(0).BackColor = Color.LightGray
e.Item.Cells(1).BackColor = Color.LightGray
e.Item.Cells(2).BackColor = Color.LightGray
e.Item.Cells(3).BackColor = Color.LightGray

Else

'ステータス毎に行の色を変える
If e.Item.Cells(3).Text = "1" Then
'ステータスが「登録済」
e.Item.Cells(0).BackColor = Color.Lime
e.Item.Cells(1).BackColor = Color.Lime
e.Item.Cells(2).BackColor = Color.Lime
e.Item.Cells(3).BackColor = Color.Lime
ElseIf e.Item.Cells(3).Text = "2" Then
'ステータスが「承認済」
e.Item.Cells(0).BackColor = Color.Aqua
e.Item.Cells(1).BackColor = Color.Aqua
e.Item.Cells(2).BackColor = Color.Aqua
e.Item.Cells(3).BackColor = Color.Aqua
Else
'ステータスが「未登録」
e.Item.Cells(0).BackColor = Color.White
e.Item.Cells(1).BackColor = Color.White
e.Item.Cells(2).BackColor = Color.White
e.Item.Cells(3).BackColor = Color.White
End If

End If

End Sub

引用:

damepgさんの書き込み (2003-03-28 18:05) より:
statusを列に持つDataTable型のデータがあるのですが、このstatusの値により
行の色を変えることを考えています。

下記を使うことは分かったのですが、ステータスが1の場合は、その行は緑色
ステータスが2の場合は青色と分けたいのですが。

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
End SuB

引用:

一郎さんの書き込み (2003-03-28 17:25) より:
ステータスというのが何のことを言っているのか分かりませんが、
こういうことではないのですか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3995&forum=7



poteto
ベテラン
会議室デビュー日: 2002/08/08
投稿数: 50
投稿日時: 2003-03-31 18:55
こんにちは。
行全体の色を変えるというのであれば、もっと短く記述できます。
Cellごとに指定する必要はありません。

e.Item.BackColor = Color.〜

以上。
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-03-31 19:58
なるほど、ありがとうございました。
試してみます。

引用:

potetoさんの書き込み (2003-03-31 18:55) より:
こんにちは。
行全体の色を変えるというのであれば、もっと短く記述できます。
Cellごとに指定する必要はありません。

e.Item.BackColor = Color.〜

以上。

1

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