- - PR -
DataGridの色を変える
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-03-28 15:42
ステータスを表示するDataGridがあります。
ステータスにより行の色を変えたいのですが、その方法を伝授願います。 | ||||||||
|
投稿日時: 2003-03-28 17:25
ステータスというのが何のことを言っているのか分かりませんが、
こういうことではないのですか? http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3995&forum=7 | ||||||||
|
投稿日時: 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-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
| ||||||||
|
投稿日時: 2003-03-31 18:55
こんにちは。
行全体の色を変えるというのであれば、もっと短く記述できます。 Cellごとに指定する必要はありません。 e.Item.BackColor = Color.〜 以上。 | ||||||||
|
投稿日時: 2003-03-31 19:58
なるほど、ありがとうございました。
試してみます。
|
1