セルをクリックするとWPF Datagrid内のアイテムの列インデックスを返す方法 Visual Studio 2010/VB.Netを使用しています(WPF Datagrid)アイテムの列インデックスを決定する方法
答えて
DataGridCells
Clickイベントを持たないイベントは、Selected
というイベントがありますが、これは通常、セルをクリックすると行内の各セルに対して発生します。 GotFocus
が良い選択かもしれません。
<DataGrid ItemsSource="{Binding Data}">
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<EventSetter Event="GotFocus" Handler="CellClick"/>
</Style>
</DataGrid.CellStyle>
</DataGrid>
と:
void CellClick(object sender, RoutedEventArgs e)
{
DataGridCell cell = sender as DataGridCell;
MessageBox.Show(cell.Column.DisplayIndex.ToString());
}
DataGridCell.Column.DisplayIndex
それは何らかの形で十分にあなたがDataGrid.Columns.IndexOf(DataGridCell.Column)
を使用することができない場合には、適切なインデックスを返すようです。
すべての体では、このソリューション
Int32 columnIndex = dataGridScannedFiles.SelectedCells[0].Column.DisplayIndex;
について告げるとはい、それは動作しますが、誰もが、我々は、すべての列あちこちに最初に表示インデックスを設定する必要が専門家はそれを取得することが明らかに静かであり得ることを伝えていないが、初心者のためには、それを設定するには2つの方法があり、不慣れな事
です: -
1)あなたはXAMLの部分でそれを設定することができますが...
<DataGridTextColumn Header="Serial No." Width="60" IsReadOnly="True" Binding="{Binding Path=Sno}" DisplayIndex="1"></DataGridTextColumn>
私はので、私は他の道
2を優先
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="ChkItem" IsChecked="{Binding Path=Sno}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
のようなカスタム列のためにそれを設定する方法がわからないが)
private void SetDisplayIndexforGridViewColumns()
{
Int32 ColumnCount = dt.Columns.Count;
for (int i = 0; i < ColumnCount; i++)
{
dataGridScannedFiles.Columns[i].DisplayIndex = i;
}
}
dt
は私のデータテーブルで機能を作成しました
と表示インデックスを割り当てています
あなたはInt32 columnIndex = dataGridScannedFiles.SelectedCells[0].Column.DisplayIndex;
を使用する場合は
は、さてあなたは確かにあなたがセル列のインデックスを選択し取得する直接コードの下に使用することができますインデックス
を取得します。
int index = datagrid.SelectedCells[0].Column.DisplayIndex;
「イベントクリックの列インデックス」でこれを試しましたか?
int columnIndex = dataGrid.CurrentColumn.DisplayIndex;
私はこのコードをMouseDoubleClick EventまたはPreviewKeyUpで使用しており、完全に動作します。
これは私のために働いた唯一のものです – Erez
- 1. アイテムを持たずにDataGrid列をスクロールする方法は?
- 2. WPF DataGridの列ヘッダーで列インデックスを取得する
- 3. wpf DataGridアイテムを追加する
- 4. WPF DataGridのDataGridヘッダーチェックボックスで列のすべてのCheckBoxを選択する方法
- 5. DataGrid(wpf)の行インデックスを選択
- 6. WPF DataGrid内でコンボボックスのスタイルを設定する方法は?
- 7. WPF:動的列でDataGridバインディングを編集する方法
- 8. フレックスのコンボボックスでアイテムのインデックスを設定する方法は?
- 9. WPF DataGrid:カスタムプロパティにバインドする方法
- 10. Wpf DataGrid列分割
- 11. インデックス付き(xsl:key)アイテムを列挙する方法は?
- 12. WPFデータグリッドの列インデックスを保持する方法は?
- 13. DataGridの列にメソッドをバインドするWPF
- 14. WPF Datagrid:列のソートをクリアする
- 15. フォームグループ内のアイテムを決める方法
- 16. WPF DataGridの列へのバインド
- 17. 有効、無効にする特定の列WPFツールキットのDataGrid
- 18. WPF DataGrid列のすべての項目を検証する方法は?
- 19. WPF DataGrid - プログラムでRowDetailsを設定する
- 20. WPF DataGridの特定の列からフォーカスを削除します
- 21. DataGridでPasswordBox型の列を定義する方法は?
- 22. DataGridの列ヘッダーでDataContextを設定する方法
- 23. WPF DataGridシングルクリックして新しいアイテムを作成する
- 24. Visual Studio 2012でwpf datagrid列名の冗長性を修正する方法
- 25. WPF Datagridバインドと列表示
- 26. WPF DataGrid参照列値
- 27. DataGridの行インデックスまたは列インデックスを選択します
- 28. DataGrid CollectionViewSourcesをソートするためのWPF ListCollectionViewの作成方法
- 29. WPFToolkit DataGridの列間にギャップを作成する方法
- 30. 変更DataGridの列の順序やインデックス
ありがとうございました.... –