問題タブ [datagridtemplatecolumn]
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.
c# - 基になるデータ セット (およびその型) に基づく WPF DataGrid の動的 DataGrid 列
概念的な質問があります。私は、WPF に書き込んだいくつかの統計クラスをラップしている最中です。
そのために、私は 2 つの DataGrid(-Views、現在 WinForms にあります) を持っています。一方の DataGrid では、各行が他方の列を表します。そこで、「Header」、「DataType」、「ValidationBehaviour」、「DisplayType」などのフィールドを使用して、さまざまな変数 (数学/統計変数など) を設定できます。そこで、どのように表示するかを設定することもできます。一部の列は自動的に ComboBoxColumns に設定でき、一部の TextBoxColumns などにも設定できます。
これらの列を設定したら、もう一方のグリッドに移動してデータを入力できます。たとえば、(グリッド 1 で) 数値を入力して「年間総給与」という名前の 1 つの列を生成したとします。「0=NoEducation」、「1=College Level」、「3=Universitary」などの「Education」という別の列。これらのラベルはコンボボックスにテキストとして表示され、背後にある統計エンジンがそれぞれの値 (0-3) を選択します。 ) 計算用 (つまり、順序変数、名義変数)。
すっごい。WinForms では、基本的にすべての列をコードで手動で生成し、それぞれのセル/行にデータを追加することができました。今WPFで、それは簡単に実現できるはずだと思いました。しかし、昨日、私は ICustomPropertyDescriptor を使い始めました (おそらく私は厚すぎました) 探していた結果が得られませんでした。
基本的に、私が持っているデータに基づいて、さまざまなレイアウト、コントロール (ComboBox、単純な入力、DateTimes) を使用して列 (および行) を動的に生成できる必要があります。しかし、私はそれについてどうすればよいのか本当にわかりませんか?
要約すると、次のようになります。
データグリッド 1
- 目的は、DataGrid 2 で指定された列を表示することです
- 行では、ユーザーは、列の仕様に関して許可されている列の下の行に任意の種類のデータを追加できます
データグリッド 2
- このグリッドの各行は、DataGrid 1 の列を表します
- Name/Header、DataType、Validation Behaviour、Default Value、Data Formatting などのフィールドが含まれます。
- また、どのように表示するかを設定できる機能も含まれています。ユーザーは、たとえば、ComboBoxColumn (および使用可能なオプションも追加)、DateTime、通常の TextBox、CheckBox などから選択できます。
- 行の追加が完了すると、DataGrid 1 に新しい列として自動的に表示されます
正しい方向へのポインタをいただければ幸いです。よろしくお願いします!:)
wpf - WPF DataGridTemplateColumn共有テンプレート?
こんにちは、テンプレートのスタックパネルにそれぞれ異なるデータコンテキストがあることを除けば、すべて同一の多数のデータグリッドテンプレート列を持つデータグリッドがあります。
各列に特定の itemtemplate を使用させたいのですが (リストボックスで行ったように)、何かが欠けていない限り、その方法がわかりません。
silverlight - Silverlight DataGridTemplateColumn と DataGridTextColumn の比較
なぜこれが機能するのですか...
しかし、これはそうではありません...
2 番目の 'System.Windows.Markup.XamlParseException: AG_E_PARSER_BAD_PROPERTY_VALUE' を取得します。この問題はフォアグラウンド コンバーターにのみ適用され、バインディングは問題ありません。
silverlight - Silverlight 4 データグリッドと、グループ ヘッダーのチェックボックスを選択した場合のすべてのチェックボックスの選択
グループ化がオンで、最初の列がチェックボックスのデータグリッドがあります。ユーザーが1つのチェックボックスをクリックすると、その下のすべてのチェックボックスが自動的に選択され、その下にあるすべてのチェックボックスが自動的に選択されるように、グループレベルにチェックボックスを配置しようとしています。
私はまた、押されたときにチェックボックスがチェックされたすべての行の配列を持つべき印刷ボタンを持っています
どうやってやるの?どんな反応でも大歓迎です
silverlight - CellTemplate とバインディングを使用したカスタム DataGrid 列
カスタム CellTemplate を使用して再利用可能な DataGrid 列を作成する必要があります。この CellTemplate には、DataGrid に表示する値をバインドする必要がある TextBlock コントロールが含まれている必要があります。これまでに見たすべての例では、DataGrid の Columns プロパティで使用するときに列の CellTemplate を直接指定し、TextBlock に直接 Binding を指定しました。
この列を単一の再利用可能なコントロールにカプセル化する必要があり、通常の DataGridTextColumn と同じように Binding を指定したいと考えています。つまり、このカスタム列を使用するときは、次のように書きたいだけです。
問題は、カスタム列が継承している DataGridTemplateColumn に Binding プロパティがないことです。DataGridBoundColumn が使えると思ったのですが、CellTemplate を指定することができません。
望ましい動作を実現する方法は? ありがとうございました!
wpf - WPF RichTextBoxのEditingCommandsは、ツールバー内に配置されていない場合、バインドを失います。
DataGridのDataGridTemplateColumnで以下のコードを使用すると、フォーマットボタンが無効になります(グレー表示)。書式設定ボタンは、ツールバーに配置されている場合にのみ有効になります。
ボタンがツールバーに配置されている場合、 CommandTargetは必要ありません。したがって、ツールバーの外に配置すると、CommandTargetで機能する必要があると考える人もいるかもしれませんが、機能しないのはなぜですか。
asp.net - ASP.NET:DataGridのTemplateColumnで宣言されたアクセス制御
ASCXファイル:
背後にあるコード:
コードビハインドでは、FindControlによって返されるコントロールはnullです。なんで?
buttonMoveUpFormFieldおよびbuttonMoveDownFormFieldコントロールにアクセスするにはどうすればよいですか?
コードビハインドから、DataGridのTemplateColumnセクションのItemTemplateセクションで宣言されているコントロールにアクセスすることは可能ですか?
wpf - DataGridTemplateColumn へのバインド
User テーブルがあり、Book テーブルからこのテーブルの外部キーを取得しています。FK は ProxyResponsibleUser_ID です。DataGrid で DataGridTextColumn を使用すると何でも問題ありませんが、DataGridTemplateColumn を使用して、対応するユーザーの User テーブルから ProxyResponsibleUser_ID の FullName 列を表示したいと考えています。DataGridTemplateColumn には Binding プロパティがないため、エラーが発生します。
では、DataGridTemplateColumn のどのプロパティによって ProxyResponsibleUser_ID をバインドするのでしょうか? 前もって感謝します。
wpf - WPF DataTemplateColumn は DataTemplate にアクセスし、ItemsSource を設定します
私がやっていることは奇妙だと知っていますが、これを機能させたいと思っています。私はどこか間違っていると感じています。
次のように、リソースで定義された DataTemplate があります。
ロードされたイベントを持つ xaml で定義された DataGrid があります。
私のイベント ハンドラー コードでは、DataTemplate で定義された ItemsControl の ItemsSource を設定したいと考えています。私のコードビハインドは次のようになります:
c# - WPF DataGrid:DataGridTemplateColumnで自動的に再ソート
WPFのDataGridコントロールで、列をデフォルトの列タイプ(DataGridTextColumnやDataGridCheckBoxColumnなど)の1つに設定し、その列で並べ替えてからその値を変更すると、グリッドが自動的に再並べ替えられます。
ただし、DataGridTemplateColumnを使用する場合(および列の並べ替えを許可する場合)、並べ替えることはできますが、この列のセルの値を変更しても、グリッドは再並べ替えられません。どうすれば自動的に再ソートをトリガーするように誘導できますか?
XAML:
バインディング:
関連する場合に備えて、これが私のアイテムクラスです。