問題タブ [datagridcell]

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 投票する
2 に答える
3099 参照

.net - Wpf DataGrid のフォーカスの問題

DataGridデータを表示するためにWPFToolKit を使用しています。私のユースケースでは

  1. ユーザーがセルをクリックして値を入力します (イベントをトラップし、フォーカスを に設定しますTextBox)
  2. Enter キーを押します
  3. 値がコミットされます
  4. フォーカスが次のセルに移動

これで、セルをクリックしない限り、ユーザーは に値を入力できなくなりTextBoxました。DataGridCellは、TextBoxさまざまなコントロール (など) の一部にすることができます。NumericUpDownCalendar

TextBoxこの動作は Excel に似ていますが、他のさまざまなラッパー ユーザー コントロールが含まれているため、基になるものにフォーカスを移すことができませんDataGridCell( DataGridCellcontains MatrixCellContainer、contains MatrixCell、contains UpDownControl など) 。

どんなポインタでも本当に役に立ちます。

アップデート:

DataGridCell_Selected次のようにイベントを処理することで、探しているものを達成できます。

しかし、これを達成するためのより良い方法があることを私は知っています!

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

wpf - WPF-DataGridCellのAutomationPeerを介したMouseDown

DataGridCellでMouseLeftButtonDownEventを発生させる次のコードがあります。

正常に動作し、セルが選択されます。ただし、現在、AutomationPeerを使用して同じことを実行しようとしていますが、同じことを実行する方法を見つけることができませんでした。

AutomationPeersを使用してそれを行うことは可能ですか?はいの場合、どうすればよいですか?

注:Clickイベントではなく、MouseDownEventを発生させるために必要です。

ありがとう

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

wpf - WPF DataGridCell での条件付き書式設定

WPF DataGrid に条件付き書式を適用しようとしています。要件は次のとおりです。グリッド上の任意のセルで、コンテンツが整数の場合、表示形式は小数点以下 0 桁にする必要があります。内容に小数点以下の桁数がある場合は、stringformat で定義されたデフォルト値で表示します。

この種の条件付き書式設定をどのように達成できるかについて、誰かが考えを持っていますか? 小数の存在を確認できるコンバーターを作成しましたが、これを XAML でセル スタイルまたはテキスト列に適用する方法を理解できませんでした。

セル スタイル - これは私が定義したいスタイルです

グリッド列 - この列に適用されるスタイルを適用します

コンバーター - このコンバーターを使用して、このスタイルが適用されるかどうかを判断します。

以下のようにセル スタイルにデータトリガーを追加して実行しようとしましたが、「型 'System.Windows.Controls.DataGridCell' でスタイル プロパティ 'StringFormat' が見つかりません」というエラーが表示されました。

私はこれに対して何日も頭を悩ませてきたので、これにアプローチする最善の方法についてのガイダンスをいただければ幸いです。

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

c# - DataGridCell で動的 ContextMenu を作成する方法

WPF、C#、複数の列、多くの行を持つデータグリッドがあります。行の各セルに異なるコンテキスト メニュー項目を持たせたい。

これを行う方法?ありがとう私はこれを持っています

ただし、これはデータグリッド レベル用です。ありがとう

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

c# - WPF DataGridCells での IValueConverter の問題

DataSet を介してデータベースからデータを取り込む DataGrid があります。ここで、セルの値とその他の要素に基づいて、セルの背景に色を付ける必要があります。

2 日間の大半をインターネットの検索に費やした後、IValueConverter を使用してこれを実行することにしました。私のコードを書いた後、コードは正常に実行されます。私がテストしたところ、1) IValueConverter クラスが呼び出され、2) 実際に Brush Color が返されていることがわかりました。

私の問題は、セルが実行時に適用されたブラシ パレットで色付けされていないことです。

奇妙なことに、各行を選択すると、色が付けられるはずのセルがデフォルトの「選択青」とは異なる色 (この場合は明るい白) で強調表示されるため、何かが機能していることがわかります。したがって、何らかの理由で、セルが変換されて IValueConverter が呼び出されても、レイアウトには表示されません。また、CellStyle を単純な色 (この場合は LimeGreen) に設定し、IValueConverter を完全に無視して、セルが Lime-Green で表示されるという別のテストも実行しました。これにより、Binding と Convert() の間のどこかで何かが間違っていると思われます。

なぜ変換色が表示されないのか、まったく困惑しており、Google の最初の数ページですべての検索結果を調べ尽くしたので、誰かが私のコードを見て、正確に指摘してくれることを願っています。 DataGrid がこのように動作する理由。

そして、参考までに、私の IValueConverter クラス:

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

c# - DataGrid から DataGridCell を選択

私はDataGridWPF コントロールを持っていて、特定のDataGridCell. 行と列のインデックスを知っています。これどうやってするの?

DataGridCellそのコンテンツにアクセスする必要があるため、が必要です。したがって、(たとえば) の列があるDataGridTextColum場合、コンテンツはTextBlockオブジェクトになります。

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

wpf - DataGrid からセルを取得するには?

私は DataGrid (.net フレームワーク 3.5、WPFToolKit) を持っています。そして、いくつかのセルの境界線 (左または右) を変更したい。1 つ、2 つまたは 3 つ。では、単一のセルにアクセスするにはどうすればよいでしょうか? そしてそれは可能ですか?いくつかの解決策を見つけましたが、それらは .net 4 用です。

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

wpf - WPFDatagridCellイベントトリガー

データグリッドセルのイベントトリガーを取得したい。このようなものを書きたいという意味です

次に、XAMLから関数thisを呼び出します。

void Cell_MouseEnter(object sender、MouseEventArgs e)

どのように私はそれをしますか:

私はこれをXAMLで持っています

plsヘルプ

ありがとうディー

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

wpf - WPF dataGgridCell 編集モード

datagridcell を常に編集モードにしておく必要があります。データグリッド セルを編集モードにするオプションが見つからないため、コントロール テンプレートを使用してデータグリッド セルの下に TextBox を配置しました。

テキスト ボックスに書き込むことはできますが、データグリッド セルの内容が更新されません。textbox に書いたものでデータグリッドセルのコンテンツを更新するにはどうすればよいですか? ここにスタイルがあります:

ありがとうディー

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

wpf - WPF データグリッド セル テキスト ボックス コントロール

データグリッド セルがあり、その下にテキスト ボックス コントロールがあります。ルーティング イベントを使用してそのテキスト ボックス コントロールのテキスト変更イベントを呼び出すにはどうすればよいですか? EventSetter を試しましたが、うまくいきません。

コードは次のとおりです。

ありがとうディー