2011-12-08 27 views
1

私のコードに間違っていますか?DatagridView選択した行のエラー

this.comboBox1.SelectedIndex = _f3.dataGridView2.SelectedRows[0].Index; 

私のデータグリッドはform3であり、私のコンボボックスはフォーム2です。これはどうすれば実装できますか?

+1

にdatagridview2のModifiersプロパティコンボボックスの値と選択されたインデックスを設定 – V4Vendetta

+1

あなたはどのようなエラーを受け取っていますか? – Waqas

+0

ありがとうございます、しかし、私はdatagridview2にアクセスすることはできませんし、私はそれにアクセスする方法を知らない。私はデータグリッドのアクセス修飾子を変更し続けますが、エラーは消えません。保護レベルのためにdatagridview2にアクセスできないと言われています。 –

答えて

1

代わりに、1つのパブリック整数をform2で宣言し、DataGridviewの選択された行インデックスを取得する場合は、を使用して、form3で選択されたdatagridviewの行のインデックスを取得できます。 Form2をからとCurrentRowIndexを割り当てる、またはこれまでにあなたがたForm3であなたが

のようなメソッドを記述

private int selectedindex {get; set;} 
    selectedindex = _f3.GetSelectedIndex(); 
    this.comboBox1.SelectedIndex = selectedindex; 

のようなものを書くのForm2で

を必要なときに選択された行のインデックスを返す必要があり、パブリックメソッドを宣言

public int GetSelectedIndex() 
    { 
     int selectedIndex = 0; 
     try 
     { 
      if(dataGridView2.SelectedRows.Count > 0) 
      { 
       selectedIndex = dataGridView2.CurrentRow.Index; 
      } 
     } 
     catch 
     { 
      return 0; 
     } 
     return selectedIndex; 
    } 

EDIT:

あなたは以下の事

private void dataGridView2_SelectionChanged(object sender, EventArgs e) 
    { 
     selectedindex = dataGridView2.CurrentRow.Index; 
    } 

を行い、また、整数としてのselectedIndexを宣言したDataGridViewのSelectionChangedイベントの下に代わりたForm3で

dataGridview2.CurrentRow.Index 

を使用することができます公共の変数として

public int selectedindex {get; set;} 

とForm2の中に直接以下のようなグローバル変数を使用してのselectedIndexを取得し、これまで必要なときに、

this.comboBox1.SelectedIndex = _f3.selectedindex; 

は、selectedIndexのを取得します。

+0

まだデータグリッドビュー2にアクセスできません。データグリッドビュー2の部分にエラーがあります...上記と同じエラーです。 T_T –

+0

私は2つのエラーを持っています。 sai。 1stは警告です。クラス名 '?'この言語の有効な識別子ではありません。 \t 2番目は 'System.Windows.Forms.DataGridView'に 'CurrentRowIndex'の定義がなく、拡張メソッドがありません。 –

+0

@rjtubera、今すぐ編集を参照してください。 –

0

変更私はあなたを見つけるdataGridView2.SelectedRows [0] .FormattedValue`以上使用 `CurrentRow`、ポスト`のように、セルに含まれる値をチェックしなければならないと考えているPublic

+0

私はすでにそれを変更しました。私は利用可能なすべての修飾子も使用しました。しかし、それでもエラーは消えません。 –

関連する問題