私はWPFアプリケーションにDataGridを持っています。私は、データグリッドの列のデフォルト値を表示する方法があるのだろうかと思っていました。たとえば、ユーザーにDataGridに新しい行を追加させることができます。したがって、DataGridの下部には、ユーザーがデータを追加するための空の空の行が常に存在します。私はこの行の列のデフォルト値を持つことを望んでいました。この機能を実現する方法はありますか?ありがとう!WPF Datagridカラムのデフォルト値
2
A
答えて
2
はのは、あなたのDataGrid
のItemsSource
がSomeClass
のコレクションであり、あなたがデータグリッドの列にSomeClass
の異なるProperties
を表示しているとしましょう。あなたができることはデフォルトのSomeClass
のコンストラクタで、Properties
にあるデフォルト値を割り当てます。このようにして、DataGridにデフォルトの列値を設定できます。編集
あなたは、列のitemssource
は、私は考えることができる一つの方法がある文字列です言ったように...
はそれだけstring
性質を持っていますSomeClass
のコレクションを作成します。デフォルトコンストラクタSomeClass
では、この文字列をデフォルト値に割り当てます。そのデフォルト値がデータグリッド列に表示されます
0
実際には、これはValueConvertersの助けを借りて行うことができます。 CanUserAddRows = Trueの場合、行のDataContextはItemsSourceの要素または空の行の{DataGrid.NewItemPlaceholder}にバインドされます。
<DataGrid ItemsSource="{Binding Path=Collection}" CanUserAddRows=True >
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource ShowSuitablePart}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
これはShowSuitablePartコンバータのコードです。
public class ShowSuitablePart : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value.ToString() == "{DataGrid.NewItemPlaceholder}")
return "This is blank row, just click me to create a new one";
else
((YourCollectionObject)value).SomeProperty;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new Exception();
}
}
TwoWayバインディングが必要な場合は、DataTemplateで2つの要素を使用する必要があります。 1行は空行、2行目は2行目の通常行です。 Visibilityバインディングを設定して、通常行の最初の要素と空行の2番目の要素を非表示にします。
コレクションオブジェクトのいくつかのプロパティへのパスを指定すると、空白の行にValueConverterが表示されません。
関連する問題
- 1. DataGridの計算カラムWPF
- 2. DataGrid計算カラム
- 3. WPFのDataGridのリフレッシュ値
- 4. WPF - 1カラムのデータグリッドはデフォルトでソート
- 5. WPF DataGrid参照列値
- 6. デフォルト値のPhinx migrate - enumカラム
- 7. wpfコンボボックスのデフォルト値
- 8. WPFのデフォルトDynamicRessource値
- 9. WPF DataGridカラムをコンバータのソート可能にする
- 10. WPF Visual C#DataGridのDataGrid
- 11. WPF Datagridセル値の編集 - C#
- 12. DataGridのWPFイメージバインド
- 13. WPFのDataGridオートサイジング
- 14. DataGridのWPFフィールド
- 15. WPF DataGridのColspan
- 16. WPF DataGridのリゾートデータ
- 17. C#WPFのDataGrid
- 18. wpfコンボボックスのデフォルト値をtextBlock
- 19. WPF DataGrid:最初の行の選択をデフォルトでキャンセルします。
- 20. MySQL:別のテーブルカラムのカラムのデフォルト値
- 21. BigDecimal型のカラムのデフォルト値のJPAアノテーション
- 22. WPF Datagrid数値列を右揃え
- 23. WPF汎用DataGrid CellTemplate - Bind to Cell値?
- 24. カラムのデフォルト値を調べる(Oracle)
- 25. oracle dbカラムの日付デフォルト値sysdate
- 26. デフォルト値のカラムを変更する
- 27. WPF Datagridドロップダウンボックス
- 28. WPF DataGridバインディング
- 29. WPF DataGrid SelectedItem
- 30. Datagrid Wpf C#
DataGridのitemssourceとは何ですか? –
itemssourceの列は、observablecollectionです。 –