2016-09-24 9 views
0

データグリッドがあり、このデータグリッドにデータをロードするときに、選択した行にフォーカスしたいと思います。しかし、私はインデックスで行を取得しません。wpfデータグリッドのインデックスで行を取得する方法

if (gridAppointment.SelectedIndex >= 0) 
{ 
    gridAppointment.ScrollIntoView(gridAppointment.Items[gridAppointment.SelectedIndex]); 
    DataGridRow row = (DataGridRow)gridAppointment.ItemContainerGenerator.ContainerFromIndex(
     gridAppointment.SelectedIndex); 
    if (row != null) 
     row.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));            
} 
+0

代わりにSelectedItemを使用するのはどうですか? –

答えて

0

あなたが行を選択すると、次の条件が真であり、あなたはこの

if (gridAppointment.SelectedIndex >= 0) 
    { 
     DataRowView dataRow = (DataRowView)gridAppointment.SelectedItem; 
     int i = dataRow.Row.ItemArray[0].ToString(); 

// ItemArrayのような値は、[1]その次の列で、すべてのセルを取得することができます。 }

+0

私はDATAGRIDを使用していないので、それは私のために働いていない –

+0

また、** DataGrid ** – Sulyman

+0

を使用して私はそれを使用してエラーが発生します。エラー: - "タイプ 'ClinicManagement.Entity.GetAppointmentList_Result'のオブジェクトを 'System.Data.DataRowView'とタイプすることができません。" –

関連する問題