- PR -

DataGridの中で編集行を取得する。

1
投稿者投稿内容
くまたん
会議室デビュー日: 2005/09/20
投稿数: 6
投稿日時: 2005-09-20 11:42
C#2週間、はじめて質問させていただきます。
初期表示時は空列行のDataGridを表示し、各項目に自由に入力できるような画面を作成しております。検索ボタンを押すと該当レコードが表示されているDataGridに表示されるようにしたいのですが、入力された行の下の行から表示できるようにしたいのです。
初期表示は10行表示なので、下から見ていって何かデータが入っている行があったら次の行から取得したデータを表示できたら、、、とイメージしているのですが、具体的な方法が見つかりません。
どなたか良い方法を知っている方、ご指導ください。
そうまさん
常連さん
会議室デビュー日: 2003/07/17
投稿数: 27
お住まい・勤務地: ジャポン
投稿日時: 2005-09-20 12:17
そうまです。こんにちは。

引用:

くまたんさんの書き込み (2005-09-20 11:42) より:
初期表示時は空列行のDataGridを表示し、各項目に自由に入力できるような画面を作成しております。検索ボタンを押すと該当レコードが表示されているDataGridに表示されるようにしたいのですが、入力された行の下の行から表示できるようにしたいのです。


入力と検索の関係がイマイチ理解できません。。

入力される項目というのは検索条件のことなのでしょうか?

それとも、入力というのは新しくレコード追加するようなイメージで、
入力途中に検索ボタンを押すと、そのレコードにすでに登録されているデータが
入力途中のデータグリッドに割り込んで表示されるってことでしょうか?

んーイマイチ、自分で書いてても日本語が怪しいですが、
もうちょっと状況を説明して頂けませんでしょうか?
くまたん
会議室デビュー日: 2005/09/20
投稿数: 6
投稿日時: 2005-09-20 12:45
説明が下手ですみません。
初期表示は項目だけのDataGridとなり、
-------------------------
NO  | コードID|コード名 |
-------------------------
1   |      |      |
-------------------------
2   |      |      |
-------------------------
    ・
    ・
    ・
-------------------------
10  |      |      |
-------------------------
表示後、「No」以外の項目にデータを入力できるようになっています。
検索機能は、テキストボックスに「コードID」を入力し検索ボタンを押下で該当
するデータをDataGrid上に表示させるようになります。
現在は、検索ボタンを押下すると単に1行目から表示させる動きになっていて
入力したデータを上書きしてしまっている状態です。

ちなみに、このDataGridはNo項目を独自で出したかったので、DataSetではなく
ソースで書いている状態です。

説明が長くなり申し訳ありませんがよろしくお願い致します。
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-09-20 13:58
このデータグリッドの使い方が今一歩わからないのですが、例えばこんな感じでしょうか?
コード:
-------------------------
 NO  | コードID|コード名
-------------------------
 1   |  1  | hoge1             
-------------------------
 2   |  2  | hoge2 
-------------------------
 3   |  3  | hoge3 
-------------------------


ここで、コードID=2を検索すると、

コード:
-------------------------
 NO  | コードID|コード名
-------------------------
 1   |  1  | hoge1             
-------------------------
 2   |  2  | hoge2 
-------------------------
 3   |  3  | hoge3 
-------------------------
 2   |  2  | hoge2 
-------------------------


となる。
くまたん
会議室デビュー日: 2005/09/20
投稿数: 6
投稿日時: 2005-09-20 14:11
はい。trapemiyaさんの書いて下さったような動きです。
ただ、今回の入力に関して規則がないので、例えば
-------------------------
NO  | コードID|コード名
-------------------------
1   |  1   | 
-------------------------
2   |  2   | hoge2
-------------------------
3   |      | hoge3
-------------------------
のように歯抜けで入力されてしまっても、以下のように表示できるように
したいと思っています。
(ex.コードID=2で検索)
-------------------------
NO  | コードID|コード名
-------------------------
1    |  1   | 
-------------------------
2   |  2   | hoge2
-------------------------
3    |      | hoge3
-------------------------
2    |  2   | hoge2
-------------------------

このような説明で大丈夫でしょうか?
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-09-20 16:55
全体が見えないので外してるかもしれませんが、以下のようにすればDataGridをなめられますので、コードIDとコード名が入っていない行を見つけてみてはいかがでしょうか?

コード:
for (int i=0; i < rowcnt; i++)
{
	for(int j=0; j < colcnt; j++)
	{
		//コードIDとコード名が空の行を見つける。
		if (dataGrid[i, j]



	}
}

くまたん
会議室デビュー日: 2005/09/20
投稿数: 6
投稿日時: 2005-09-21 09:52
trapemiyaさん、ありがとうございます。
なるほどです。
ちょっとこの方法でやってみたいと思います。
1

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