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

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

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

Re[3]: 配列データをDataGridiewに表示


(過去ログ 31 を表示中)

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

■15027 / inTopicNo.1)  配列データをDataGridiewに表示
  
□投稿者/ sayo (1回)-(2008/03/02(Sun) 20:13:07)

分類:[C#] 

初心者です。よろしくお願いします。
VS2005で、C#です。

あるフォームにDataGridViewがあり、
別フォームで取得した配列データを順番にDataGridViewに表示させて
いきたいのですが、できません。
配列データは取得できているので、あとは表示させるだけなのですが、
コードの書き方がわからず困っています。
初歩の初歩と思いますが、お願いします。

<コード>
private SelectResult[] _List = null;
private void Button1_Click(object sender, EventArgs e)
{
//配列を取得
//結果は「ID」「Name」「addFlg」の3つです


//戻り値をグリッドビューに追加
foreach (SelectResult list in _List)
{
//ここからできません
//以下を試しましたが、できませんでした
dgv_Newspaper.Rows.Add();
this.dataGridView1.Rows[max].Cells[0].Value = list.ID;
this.dataGridView1.Rows[max].Cells[1].Value = list.Name;
this.dataGridView1.Rows[max].Cells[2].Value = list.addFlg;
}

}
引用返信 編集キー/
■15035 / inTopicNo.2)  Re[1]: 配列データをDataGridiewに表示
□投稿者/ やじゅ (206回)-(2008/03/03(Mon) 00:46:38)
やじゅ さんの Web サイト
2008/03/03(Mon) 01:55:24 編集(投稿者)

No15027 (sayo さん) に返信

疑問点は2つ
dgv_Newspaper.Rows.Add();とthis.dataGridView1の関連性が不明
max変数の値が不明

未確認なので間違ってるかも・・・
int rowIndex = dgv_Newspaper.Rows.Add();
dgv_Newspaper.Rows[rowIndex].Cells[0].Value = list.ID;
dgv_Newspaper.Rows[rowIndex].Cells[1].Value = list.Name;
dgv_Newspaper.Rows[rowIndex].Cells[1].Value = list.addFlg;

http://www.atmarkit.co.jp/fdotnet/vblab/gridlab_01/gridlab_01_03.html
引用返信 編集キー/
■15045 / inTopicNo.3)  Re[2]: 配列データをDataGridiewに表示
□投稿者/ sayo (2回)-(2008/03/03(Mon) 11:36:00)
やじゅさん、ありがとうございます。

>dgv_Newspaper.Rows.Add();とthis.dataGridView1の関連性が不明

申し訳ありません、
コードの表記に間違いがありましたので、再度UPします。

<コード>-----------------------------------
private SelectResult[] _List = null;
private void Button1_Click(object sender, EventArgs e)
{
//配列を取得
//結果は「ID」「Name」「addFlg」の3つです


//戻り値をグリッドビューに追加
foreach (SelectResult list in _List)
{
  this.dataGridView1.Rows.Add();  //<--ここが誤りでした、すみません
  this.dataGridView1.Rows[max].Cells[0].Value = list.ID;
  this.dataGridView1.Rows[max].Cells[1].Value = list.Name;
  this.dataGridView1.Rows[max].Cells[2].Value = list.addFlg;
}

}
<コード>-----------------------------------

>max変数の値が不明
「常にDataGridViewの末尾に追加」という動作にしたかったので、
最下行を取得するために用意しました。

実行すると、このButton1_Clickの処理が終わったところで
以下のエラーが出て困っております。
「System.FormatExeption:セルのフォーマットされた値に間違った型が指定されています」
DataGridViewのデータ型と、配列のデータ型は一致していると思うのですが。。。
引用返信 編集キー/
■15049 / inTopicNo.4)  Re[3]: 配列データをDataGridiewに表示
□投稿者/ やじゅ (209回)-(2008/03/03(Mon) 13:16:24)
No15045 (sayo さん) に返信
>
> 「System.FormatExeption:セルのフォーマットされた値に間違った型が指定されています」
> DataGridViewのデータ型と、配列のデータ型は一致していると思うのですが。。。
>

そのエラーが出ているわけですから、何かしら間違っているはずです。
情報を公開して頂かないことには、エスパーではないので、ここまでしか答えれません。
引用返信 編集キー/
■15269 / inTopicNo.5)  Re[3]: 配列データをDataGridiewに表示
□投稿者/ R・田中一郎 (2回)-(2008/03/09(Sun) 23:13:19)
R・田中一郎 さんの Web サイト
>   this.dataGridView1.Rows.Add();  //<--ここが誤りでした、すみません
>   this.dataGridView1.Rows[max].Cells[0].Value = list.ID;
>   this.dataGridView1.Rows[max].Cells[1].Value = list.Name;
>   this.dataGridView1.Rows[max].Cells[2].Value = list.addFlg;

問題の切りかけを行ってみると良いです。

・定数を与えて見る。
・単一の列だけを残して、他はコメントアウトしてみる
・ブレークポイントをおいて、実際の値を確認してみる

今回の問題だけに関わらず、このような試行錯誤を繰り返すと、それなりに自己解決できるようになりますよ。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -