問題タブ [datagridcomboboxcolumn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - DataTableをDataGridComboBoxColumnにバインドする方法
DataGridにDataGridComboBoxColumnがあり、WPFウィンドウがあります。以下のように、DataContextをWindowに割り当てています。
以下は、DataGridComboBoxColumnのXAMLです。
mn.EditingElementStyle>
まだグリッド内のコンボボックスは空白を示しています。コンボボックスにデータがリストされていません。次に、Windowsコードビハインドで次のコードを記述しました。動作を開始します。
とにかく、MVVMを使用してXMAL自体でこのケースを処理することはできますか?私はこのアプローチを使うのを嫌がります。
datagrid - .NET 4.0 DataGridCombobox SelectionChanged の問題
私のプログラムでは、コンボボックスで項目が選択されるとすぐに、コンボボックスに (ViewModel から) バインドされたオブジェクトが更新されるという要件があります。現在、オブジェクトは、Enter キーを押すか、セルを離れることによって編集がコミットされた場合にのみ更新されます。ユーザーは余分なステップを望んでいません。
私の考えでは、コンボボックス内の項目を選択する行為で CommitEdit() メソッドをトリガーし、次に CancelEdit() をトリガーすることです。ただし、使用できないため、DataGridComboBoxColumn の SelectionChanged イベントにフックする方法を見つけることができないようです。
その他の提案は、ビューモデルでプロパティ変更イベントをリッスンすることですが、セル編集が完了するまでプロパティは変更されません。
ユーザーが Enter キーを押したか、セルを離れたかのように、DataGridCombobox で新しい項目 (インデックス) を選択してセルの編集を閉じる方法を考えられる人はいますか?
注: お客様の制限により、.NET 4.5 を使用できません。
c# - WPF で DataGridComboBoxColumn を DataGrid に動的に追加する
プログラムでテーブルをデータベースモデルからDataGrid
アプリケーションにロードしています
" " という名前の列をロードしたことを確認するたびにBase
、ユーザーが でこの値を編集したいときにDataGrid
、ComboBox
Base
したがって、「 」列を見つけたときはいつでも、次のようにします。
問題は、それを呼び出しdb.SaveChanges()
ても何も保存されないことです。そのような状況で私は何をすべきですか?
c# - データグリッドでコンボボックスをバインドできませんでした
以下のサンプルでは、 を にバインドしようとしましたがPartNumber
、DataGridComboBoxColumn
できませんでした。これどうやってするの?
XAML:
wpf - DataGridComboBoxColumnから離れると、その値がクリアされるのはなぜですか?
2つの列を持つDataGridがあります。
- DataGridComboBoxColumn
- DataGridTextColumn。
データ検証を設定して、一方に値がある場合、もう一方にも値が含まれるまでエラーが発生するようにしました。検証はばかげていますが、検証を行うためのいくつかの簡単な基準を提供するので、この問題を説明できます。
テキストセルに何かを入力し、Tabキーを押してから最初のセルをクリックすると、最初のセルはエラー状態にあることを示します(これは正しいです)。問題は、コンボボックスのドロップダウンから何かを選択し、そのセルから移動すると(Tabキーを押すか、別のセルをクリックして)、コンボボックスに選択した値が表示されなくなることです。プロパティが変更されるたびにソースを更新するようにバインディングを設定しているので、選択するとすぐに選択した値に設定されます。しかし、セルから離れると、プロパティはnullに設定されます。セルがエラー状態でない場合、この動作は表示されません。
誰か助けてもらえますか?これが私のDataGridのXAMLです。
私は自分が間違っていることを想像することはできません。私が抱えているのと同じ問題を説明しているように見えるこの別のリンクを見ましたが、それらのために働いた解決策は私にとってはうまくいかないようです。SelectedValueBindingとSelectedValuePathを追加しましたが、動作は変わりませんでした。
mvvm - DependencyProperty を作成しようとすると、管理する FrameworkElement または FrameworkContentElement が見つかりません
DataGridColumn
から継承してカスタムを構築していますが、このエラーを出力ウィンドウに表示DataGridBoundColumn
しようとするとDependencyProperty
System.Windows.Data エラー: 2: ターゲット要素の管理 FrameworkElement または FrameworkContentElement が見つかりません。BindingExpression:Path=myViewModelProperty; DataItem=null; ターゲット要素は 'CustomDataGridComboBoxColumn' (HashCode=24500989) です。ターゲット プロパティは 'ItemsSourcePath' (タイプ 'Object') です
DataGridColumns の DataContext について読んだことがありますが、このオブジェクトはビジュアル ツリーに属していないと聞いています。しかし、親から DataContext を継承させる方法が見つかりません
これは私が使用したコードです
次に、編集スタイルを作成するメソッドをオーバーライドしました
そして、私はそれをこのように使用しようとしています
c# - C#およびWPF-DataGridComboBoxColumnのItemsSourceのバインディングリスト
List
(LINQクエリからのデータを含む)をDataGridComboBoxColumn
asとしてバインドしたいItemsSource
。SelectedValue
プロパティはList
、全体のデータを使用して他から取得されDataGrid
ます。
XAML:
C#:
ここにバインディングの例がたくさんありますがDataGridComboBoxColumn
、これらのどれも私の問題を解決するのに役立ちません。
c# - ObservableCollection を使用した DataGridComboboxColumn バインディング
私の小さなプロジェクトは今ではかなり異なって見えます。これで、( Binding Pathを介して)ObservableCollection OC1
全体とバインドしたいデータと、ケースを保存する場所( as )があります。プロパティ inは from の 1 つの値です(これは c のケースの 1 つです)。バインディングOKです。DatagridTextBoxColumns
ObservableCollection OC2
DatagridComboboxColumn
ItemsSourceBinding
SelectedItem
DatagridComboboxColumn
OC1
OC2
DatagridTextBoxColumns
XAML:
C#(更新):
DatagridComboboxColumn
これを適切にバインドする方法は?いくつかの例を手伝ってください。
vb.net - VB.NETdatagridviewコンボボックスの1対1のマッピング
2つのテキストボックス列と1つのコンボボックス列を持つdatagridviewがあります。コンボボックスのデータソースは、ドロップダウンの値の列挙型にバインドされています。datagridviewのDataSourceは、string、string、およびenumのデータ型を持つカスタムクラスにバインドされています。
最初の2列には値が事前に入力されており、3番目の列でユーザーはドロップダウンから値を選択する必要があります。これまでのところ、これはすべてうまく機能しています。
コンボボックスフィールドは1対1の種類のマッピングである必要があります。つまり、2つのコンボボックスが同じ値を持つことはできません。この種の動作を実装する方法が本当にわかりません。選択した値を残りのドロップダウンから削除する必要がありますか?選択した値をドロップダウンに残し、同じ値を2つ選択したときにエラーを表示する必要がありますか?
任意のアイデアとこれらのアイデアを実装する方法は非常に役立ちます。
ありがとう
複数回使用できる唯一の許容値は「なし」であることに注意してください
wpf - WPF DataGridComboBoxColumn スタイル
私は正常に動作するものを使用ComboboxColumn
しDataGrid
ます。
ただし、スタイルの問題があります。
カーソルが列にない場合、ComboboxColumn
は のように見えますtextboxColumn
。クリックすると、右隅に小さな矢印が表示されるので、コンボボックスのように見えます。
クリックやフォーカスをしていなくても、コンボボックスのように表示したい。だと思いますがElementStyle
、正確に何に変更すればよいかわかりません。誰かがこれを行う方法を知っていますか?