- - PR -
DataGridの特定の行だけ色を変えたい
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-03-23 15:19
こんにちは。
現在、C#でwebアプリを開発しています。 そこで質問なんですが、 DataGridにバインドしたデータの内容で DataGridの行の色を変え(もしくは文字の色)、なおかつその行のリンクボタンを さわらせないようにしたいのです。 (DataGridの最初の列をボタン列にしてリンクボタンに設定しています。) 例えば、フラグが立っているものだけ、色を変えるみたいな。 別にDataGridじゃなくても、リスト系でこれができれば、 どんなコントロールでもいいんですが・・・。 そんなことって可能なのでしょうか。 教えて下さい。 | ||||||||
|
投稿日時: 2003-03-23 16:54
DataGridは、ボタンを押せなくする方法が分かりませんでしたが、DataListならItemDataBoundというイベントを使ってできそうです。
Datalist1というDatalistを表示。DataSourceはint型の配列とする。 aspxファイルの方は例えば
ItemDataBoundというイベントに以下のメソッドを結び付けます。
これで良さそうです。 [ メッセージ編集済み 編集者: 一郎 編集日時 2003-03-23 16:57 ] | ||||||||
|
投稿日時: 2003-03-23 17:12
一郎さん、ありがとうございます。
DataGridにもItemDataBoundイベントがあったので、 DataGridでもできそうです。 (DataListの使い方がイマイチわからないので・・・ ただ、 if((int)e.Item.DataItem== { e.Item.BackColor=Color.Coral; ((LinkButton)e.Item.FindControl("Button1")).Enabled=false; } とあるのですが、「if((int)e.Item.DataItem== の「8」とは、一体何を指定すればいいのでしょうか? 立て続けに質問してすみません・・・。 | ||||||||
|
投稿日時: 2003-03-23 17:41
失礼、説明が足りませんでした。
8に意味はありません。 intの配列ということでソースを書きましたので、バインドした配列の、値が8の行だけ色を変えるという例です。 お好みの条件を設定してください。 | ||||||||
|
投稿日時: 2003-03-25 21:23
一郎さん、いつもお世話になっております。
DataGridで希望どおりの動きにすることができました☆ ありがとうございました。 | ||||||||
1
