- - PR -
GridViewの値の参照方法を教えて下さい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-27 11:55
はじめまして、先週からC#をはじめた未熟者といいます。
現在、VS2005のC#にてWEBアプリを作成しはじめたのですが いきなりGridViewに表示されたCell値の取得方法で躓いてます。 表示している内容は、テプレート列にチェックボックス、社員NO、社員名です。 承認チェックボックスにチェックされた行を、確認ボタン(btnkakunin)という ボタンをクリックされたら、チェックボックスの値を表示行数分チェックし チェックされてる行があれば、テキストボックス(txtsentaku)に社員No及び 社員名を表示するという仕様です。 ご教授をお願いします。 承認 社員No 社員名 □ 99999 AAAAAAAAAAA □ 88888 bbbbbbbbbbb 現状のコーディングはこちらです。 protected void btnkakunin_Click(object sender, EventArgs e) { int cnt1; txtkakunin.Text = ""; for( cnt1=1; cnt1 < GridView1.Rows.Count;cnt1++) { // チェックボックスの値のチェック if (((CheckBox)GridView1.Rows[cnt1].Cells[0].Controls[1]).Checked) // txtkakunin.Text += ??????? ; ↑ ??? } } | ||||
|
投稿日時: 2006-03-27 13:21
私の読解力がないのか、よく質問内容がわからないのですが、
この使用例あたりで解決します? http://msdn2.microsoft.com/ja-JP/library/system.web.ui.webcontrols.gridviewrow(VS.80).aspx | ||||
|
投稿日時: 2006-03-27 14:18
いつもここでは、質問ばかりなので、たまには回答も・・・
VB.NETのソースで申し訳ないですが、こんな感じですか?
未熟者さんのコード見るとGridView1.Rows.Countを1〜にしてますけど、 0〜の気がします。 あと上のサンプルでは使ってませんが、ifの前にGridView1.Rows(I)を退避して、 その変数を参照させるようにすると処理効率があります。 | ||||
|
投稿日時: 2006-03-27 15:13
masakazuさん、うきょきょさん ご指導ありがとうございます。
早速、以下の様に修正して実行した所チェックボックスの値は判断出来るように なりました。ありがとうございました。 ただ、社員Noにスペースで入ってきちゃってますので社員Noが入るように 調べて見ます。 protected void btnkakunin_Click(object sender, EventArgs e) { int cnt1; dispCheckBox.Text = ""; for( cnt1=0; cnt1 < GridView1.Rows.Count;cnt1++) { // チェックボックスの値のチェック if (((CheckBox)GridView1.Rows[cnt1].Cells[0].Controls[1]).Checked) dispCheckBox.Text += GridView1.Rows[cnt1].Cells[1].Text; } } |
1