|
分類:[.NET 全般]
ご指摘がありましたので 新たな質問を書かせていただきます。
今TabControlを使ってTabPage毎にDataGridを配置し テーブルを読み込んでいます。 そこで テーブルにある項目数分 LabelとTextBoxを配置し 項目名・項目内容を表示させるようにしているのですが テーブルの項目分 ラベル・テキストボックス を配置して
//グローバル変数宣言 public System.Windows.Forms.Label[] arrlbl=new Label[ ]; public System.Windows.Forms.TextBox[] arrtxt=new TextBox[ ]; public int i;
//ラベル名を発行 arrlbl[0] = label1; arrlbl[1] = label2;
//テキストボックス内の取得 arrtxt[0]=textBox1; arrtxt[1]=textBox2;
for(i = 0;i<ds.Tables["TabPage1に表示したいテーブル名"].Columns.Count;i++) { arrlbl[i].Text = ds.Tables["TabPage1に表示したいテーブル名"].Columns[i].ColumnName; arrtxt[i].Text=ds.Tables["TabPage1に表示したいテーブル名"].Rows[0][i].ToString(); }
と命令を入れて 取得ができました
しかし これが TabPage2 TabPage3 分のLabel TaxtBox を増やし
//ラベル名を発行 arrlbl[0] = label1; arrlbl[1] = label2; arrlbl[2] = label3; /*TabPage2用*/ arrlbl[3] = label4; /*TabPage3用*/
//テキストボックス内の取得 arrtxt[0]=textBox1; arrtxt[1]=textBox2; arrtxt[2]=textBox3; /*TabPage2用*/ arrtxt[3]=textBox4; /*TabPage3用*/
for(i = 0;i<ds.Tables["TabPage1に表示したいテーブル名"].Columns.Count;i++) { arrlbl[i].Text = ds.Tables["TabPage1に表示したいテーブル名"].Columns[i].ColumnName; arrtxt[i].Text=ds.Tables["TabPage1に表示したいテーブル名"].Rows[0][i].ToString(); }
for(i = 0;i<ds.Tables["TabPage2に表示したいテーブル名"].Columns.Count;i++) { arrlbl[i].Text = ds.Tables["TabPage2に表示したいテーブル名"].Columns[i].ColumnName; arrtxt[i].Text=ds.Tables["TabPage2に表示したいテーブル名"].Rows[0][i].ToString(); }
と増やして言った場合 TabPage1の Label TextBox の内容が 最後の for文の内容を取得してしまいます。
多分for文か何かに問題があるのだとは思うのですが息詰まってしまいました。 お力添えの方をお願いいたします。
|