問題タブ [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.

0 投票する
3 に答える
17498 参照

wpf - DataGridComboBoxColumnセルに選択したアイテムのテキストが表示されませんか?

編集モードでないときに、DataGridComboBoxColumn に選択した項目のテキストを表示させるにはどうすればよいでしょうか? また、編集モードのコンボ ボックスで、選択した項目のテキストを最初に表示するようにすることはできますか?

ここに私のXAMLがあります:

0 投票する
4 に答える
26741 参照

wpf - WPF DataGrid で編集可能な DataGridComboBoxColumn を実装する方法

ユーザーが WPF DataGrid (.net Framework 4.0 から) で一部のデータを編集できるようにしたいと考えています。「楽器」列では、ユーザーが静的リストから使用可能な楽器を選択したり、自由なテキストを書いたりできるようにする必要があります。私の DataGrid は、MVVM を使用してデータにバインドされています。インターネットで見つけた多くの解決策を試しましたが、どれも正しく機能しません。これが私のコードです:

ドロップダウン リストが正しく表示されます。このフィールドは任意のテキストで編集できますが、フリー テキストのドロップダウンが閉じられると、SelectedInstrument に null が設定されます。選択したアイテムのみに機能します。SelectedValueBinding に変更しようとしましたが、役に立ちません。

この要件を適切に実装するにはどうすればよいですか? 誰かがここに実際のサンプルを投稿できますか?

追加: Orders is ObservableCollection Order has Property has String Title, DateTime Ordered, string SelectedInstrument, Instruments is a string[]

解決策: 次は、bathineni作品からの回避策として提案します。

0 投票する
2 に答える
929 参照

c# - 後ろに DataView がある WPF DataGrid では、クリックされるまで ComboBox を Label として表示したい

したがって、外部関係があるいくつかのセルにいくつかの ComboBoxes を持つ WPF DataGrid がありますが、これは、一度に何百もの ComboBoxes が読み込まれ、時間がかかりすぎることを意味します。やりたいことは、ComboBox がロードされる時点でクリックされるまでラベルをロードすることです。これは TextBox で簡単に実行できます。

問題は、コンボボックスが機能し、ユーザーが多数の表示値 (例: {Car, Dog, Cat}) から選択して列の外部キー値を変更できることです。ただし、ユーザーがラベルをクリックする前に、ラベルには外部キーの値自体が表示されます (例: {1, 2, 3})。

私たちができることについて何かアイデアはありますか?どんな助けでも大歓迎です!

よろしく、フグ

0 投票する
3 に答える
4758 参照

c# - DataGridComboBoxColumnをすぐに公開することは可能ですか?

データグリッドの読み込み時に、WPFツールキットデータグリッドのDataGridComboBoxColumnを「公開」することはできますか?デフォルトでは、セルをクリックしてコンボボックスを表示する必要があります。セルをクリックしなくてもコンボボックスが使用できることをユーザーに確認してもらいたい。コンボボックスがすぐに利用可能になり、セルを最初にクリックすると、コンボボックスが実際にドロップダウンするようにしたいと思います。現在、セルをクリックしてから、コンボボックスのドロップダウンをクリックして値を表示する必要があります。

不要な外観

VS

正しい外観

XAML:

コードビハインド:

ありがとう、GAR8

最終的な解決策:XAML

コードビハインド:

0 投票する
3 に答える
4803 参照

wpf - WPFDataGridに複数列のComboBoxDataGridColumnを実装するにはどうすればよいですか?

簡単な解決策がないと思う簡単な質問があります。WPFDataGridの一部のグリッド列に複数列のComboBoxが必要です。これを達成するための既知のベストプラクティスはありますか?私が収集したものから、これには、カスタムComboBoxをサポートするためにDataGridComboBoxColumnをサブクラス化する必要があります。

私はこれのいくつかの例を見つけましたが、EFエンティティをサポートしていません(私はCode First EFを使用しています)。

アドバイスをいただければ幸いです。ありがとう

注:これはすべてC#で動的に行われます。XAMLを使用して列を定義していません。

更新:マルチカラムとは、ComboBoxをドロップダウンするときに、「表示」の2つの値を表示する必要があるということです。もちろん、舞台裏ではIDを保存しているだけです。

ここを参照してください:。 複数列のドロップダウン http://www.telerik.com/ClientsFiles/188010_multicolumn-dropdown.JPG

これを、画像に示されている単純なコンボではなく、動的に作成してグリッドに追加できるDataGridColumnとして実行する必要があることを除いて。

更新私はついに、著者が私の-exact-要件を使用してコントロールを開発したCodeProjectに関する記事を見つけることができました。ここにあります。今私が解決しようとしている唯一の問題は、Entity Frameworkを使用しているときにコントロールが機能するようにする方法です(具体的には、コードを最初に)。近くなってる!

0 投票する
0 に答える
440 参照

c# - DataGridViewComboBoxColumn UI 更新の問題

DataGridViewComboBoxColumn を使用した DataGridView の UI 更新に問題があります。DataGridViewComboBoxColumnCell の値を設定すると機能しますが、UI は更新されません。

コントロールでInvalidate()、Refresh()を試しました。フォーカスを与えてから、フォーカスを別のコントロールに切り替えます。ボタンイベントで同じループを使用すると機能します。

これまでの私のコード:

2 つの ZedGraphControls で同様の動作がありました。従属ズームを実装しましたが、両方のコントロールで最初に手動でズームしたときにのみプロットでスケールが変更されました。たとえば、列幅を手動で変更し、メソッドが再度呼び出されて UI が更新されると、DataGridView でも同じことが起こります。

0 投票する
2 に答える
1828 参照

c# - DataGridComboBoxColumnスタイルはどのように変更できますか?

「DataGridComboBoxColumn」で境界線のスタイルを非表示に変更する必要があります...どうすればよいですか?datagridTemplateに変更して、自分のスタイルのコンボボックス要素を中に入れる別の方法があることを願っています。

0 投票する
2 に答える
5806 参照

c# - C# DataGridView コンボボックスは、プログラムでデータを追加します

DataGridView を使用したアプリケーションがあります。列の 1 つは Combobox 型です。このコンボボックスの項目をプログラムで追加したい。そのために使用するコードは次のとおりです。

次に、行を追加しようとすると、「ステータスという名前のフィールドがありません」というエラーが表示されます。オランダ語のエラーがあるため、エラーを英語に翻訳しました。行を追加するために使用するコードは次のとおりです。

誰かが私が間違っていることを理解するのを手伝ってくれますか? 見つからない。コンボボックスで DataGridView を使用するのはこれが初めてです。

0 投票する
1 に答える
2866 参照

c# - DataGridView の動的 ComboBox

4 つの列を持つ DataGridView があり、そのうちの 1 つはドロップダウン (ComboBox) 列です。この列の値は異なる必要があるため、特定のドロップダウン値が行で選択されたら、他の行のドロップダウンで使用できないようにしたいと思います。特定の値が選択されていない場合、ドロップダウンに再び表示されます。同様の例( 123)を含むいくつかの記事を見つけました。ただし、それらのすべてには、イベントへのサブスクライブと ComboBox への手動入力が含まれているようです。

  • all.Except(selected)データバインディングだけでこれを達成する方法はありますか (おそらく、基本的にLinq クエリである IEnumerable に対して)?
  • データバインディングだけでは不十分な場合、私が見つけた例よりも良い方法はありますか?

私は WinForms の開発に少し慣れていないので、良いアドバイスと「うん...うまくいくよ」を区別するのに苦労しています。

0 投票する
1 に答える
282 参照

wpf - wpfのデータグリッドにコンボボックスを挿入する

C#

XAML

これで、読み込み時にコモボックスに名前が表示されます...コンボボックスをクリックすると、ドロップダウンにすべてのアイテムのMainDataContext.Categoryが表示されます...

ドロップダウン項目のいずれかをクリックすると、正しい値が選択され、コンボボックスに表示されます...

グリッドが読み込まれると... その列をダブルクリックした後..