C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DataGridViewに表示させるデータの表示方法


(過去ログ 88 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■52438 / inTopicNo.1)  DataGridViewに表示させるデータの表示方法
  
□投稿者/ 綾子 (1回)-(2010/08/09(Mon) 16:26:52)

分類:[C#] 

C#2008を使用しています。

DataGridViewに、IListをDataSourceに指定する形でデータ表示を行っているのですが、
このとき一部の項目についてデータそのままではなく、加工したデータを表示したいのです。
(具体的にはフラグの1・0で入ってきている項目を、あり・なし のように表示したり、ある項目の
先頭2文字だけを切り出して表示させたいです)

CellPaintingイベントを使えばできるかと思って試してみたのですが、現在描画しようとしている
IListのレコードの取り方がわからずに引っかかってしまいました。
DataGridView.DataSource.Current.FieldByName("Flg") …みたいなことがしたいのですが、
どうすれば取れるのでしょうか?
(それともそもそも、CellPaintingイベントを使うという方針が間違っているのでしょうか?)

宜しくお願いします。
引用返信 編集キー/
■52439 / inTopicNo.2)  Re[1]: DataGridViewに表示させるデータの表示方法
□投稿者/ Hongliang (685回)-(2010/08/09(Mon) 16:42:25)
どちらかというと CellFormatting イベントで処理した方が良さそうです。データソース内のある値を、それを表示するセルの DataGridViewCell.Value に設定する際に発生するイベントです。
// ユーザが入力可能なセルの場合、入力された文字列をデータソース内に望ましい形で変換するのには CellParsing イベントを使います。こっちは DataGridViewCell.Value をデータソースに書き戻す際に発生します。
実際のコーディングは、ヘルプや MSDN の DataGridViewCellFormattingEventArgs クラスのサンプルコードを参考にしてみて下さい。
引用返信 編集キー/
■52441 / inTopicNo.3)  Re[2]: DataGridViewに表示させるデータの表示方法
□投稿者/ todo (39回)-(2010/08/09(Mon) 17:16:05)
> DataGridViewに、IListをDataSourceに指定する形でデータ表示を行っているのですが、
> このとき一部の項目についてデータそのままではなく、加工したデータを表示したいのです。

可能であれば、行単位のクラスに表示用のプロパティを追加するとか。

引用返信 編集キー/
■52443 / inTopicNo.4)  Re[2]: DataGridViewに表示させるデータの表示方法
□投稿者/ 綾子 (3回)-(2010/08/09(Mon) 17:47:44)
No52439 (Hongliang さん) に返信
> どちらかというと CellFormatting イベントで処理した方が良さそうです。データソース内のある値を、それを表示するセルの DataGridViewCell.Value に設定する際に発生するイベントです。

教えていただいたとおり、CellFormattingイベントでうまくいきました。
todoさんにアドバイスいただいた表示用メンバ追加も考えたのですが、今回はCellFomattingイベントで

private void DataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
DataGridView target = (DataGridView)sender;
if (target.Columns[e.ColumnIndex].Name == "flag_comp")
{
string str = e.Value.ToString();
if (str == "1")
e.Value = "完了";
else
e.Value = "";
e.FormattingApplied = true;
}
}

でうまくいきました。
お二人とも、本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -