2016-07-26 5 views
2

グリッドビューで次のデータを取得したいときは、ブレークを使用するときです。それは完全にループの外ですが、私は休憩を使わないでください。それは、私が入力したテキストの最後の行のデータを呼び出す。グリッドビューで次の行データを取得するには?

private void button7_Click(object sender, EventArgs e) 
    {   
     for (int i = 0; i < gridView1.RowCount; i++) 
     { 
      var row = gridView1.GetDataRow(i); 
      var genre = row["genre"].ToString(); 

      if (genre.IndexOf(textBox8.Text, StringComparison.OrdinalIgnoreCase) >= 0) 
      { 
       gridView1.FocusedRowHandle = i;     
       break; 
      } 
     } 
    }  

私が休憩を使用しない場合、 'ba' =バスケットボールの最後のデータが選択されます。 私がしたいことは、私はそれがバレエを選択して停止し、私は再び横にあるボタンをクリックしたとき、それはループの現在の反復を保存するためにint変数を使用バスケットボール imge1

答えて

1

を選択し[次へ]をクリックするときです:

int iteration=0; 

private void button7_Click(object sender, EventArgs e) 
    {   
     for (int i = iteration; i < gridView1.RowCount; i++) 
     { 
      var row = gridView1.GetDataRow(i); 
      var genre = row["genre"].ToString(); 

      if (genre.IndexOf(textBox8.Text, StringComparison.OrdinalIgnoreCase) >= 0) 
      { 
       gridView1.FocusedRowHandle = i; 
       iteration=i+1;     
       break; 
      } 
     } 
    } 

Findボタンでは、反復を0にリセットすることができます。

+0

また、 'int i = gridView1.SelectedRow.RowIndex + 1'を使うこともできます。これは、マウスで行を選択した場合でも、事前に検索した場合でも、選択した行の後ろを検索します。このソリューションの問題点は、武道をクリックして、次に来る「バ」を探して、バレエを得ることです。したがって、この実装は、マウスで選択することを許可し、[次へ]ボタンで考慮する必要がある場合を除き、機能します。 – Lithium

+0

よく動作することを確認してください。 私は 'ba'と打ち込んだときに出力が=バレエを見つけたときですが、次に出力stil =バレエをクリックしようとすると、出力を再びクリックしようとすると出力がバスケットボールクリックして次の最初のクリックを見つけてください。それはバスケットボールでしたか? –

+0

@Lithium選択された行または行のインデックスを呼び出すことはできません@ = –

関連する問題