問題タブ [datagridview]
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# - C#データグリッド列を日付で並べ替える
日付を含む列があり、列ヘッダーをクリックすると、列は日付ではなく数値でソートされます。これを日付順に並べ替えるにはどうすればよいですか?日付の形式は dd/mm/yy です。
例 (最も古いものから順にソート):
10/12/08 <--12 月 10/09/08 <--9 月 12/12/08 <--12 月
どうもありがとう
.net - 編集モードに入ったときに最初の文字をキャプチャする - DataGridView のカスタム編集コントロール
でカスタム編集コントロールをホストしています。DataGridView
これは、記録のために でありTextBox
、Button
一緒にUserControl
です。DataGridViewColumn
新しい列とDataGridViewTextBoxCell
新しいセルを継承しました。
通常のDataGridViewTextBoxCell
では、セルにフォーカスがあるときにキーを押すと、編集モードが開始され、入力した文字が に表示されますTextBoxEditingControl
。ただし、継承したセルでは、キーを押しても値が渡されません。(実際には、現在のセル値を手動で渡す必要がありますInitializeEditingControl
。そうしないと、何も表示されません。) したがって、入力した最初の文字 (編集モードを開始する文字) は失われます。
OnKeyPress
、OnKeyDown
、およびを試しOnKeyUp
ましたDataGridViewCell
が、呼び出されません。KeyEntersEditMode
ただし、呼び出されるように見えるのは、押されたキーをチェックしている場合のみであるため、ここから始めるのがよいでしょう。問題は、KeyEventArgs を に変換する方法になりますchar
。これはアルファベットと数字の場合は些細なことですが、すべてのキーボードが同じように作られているわけではないため、他のキーの処理は面倒でよくても複雑です。これを自動的に行うコンバーター クラスがある場合は、教えてください。
他の誰かがこの問題に遭遇したか、または適切な回避策を見つけましたか?
注: この問題は、EditMode
が のバリエーションに設定されている場合に適用されますEditOnKeystroke
。に設定することEditOnEnter
は私のプロジェクトの有効な回避策ですが、のデフォルトの動作もエミュレートしたいと思いますTextBoxEditingControl
。
c# - datagridview C#のスペースを埋めるために列を追加します
DataTableをバインドするdatagridviewがあります。私がしたいのは、ウィンドウフォームの残りのギャップを埋める列を追加することです。現時点では3列しかないため、すべての列の幅はウィンドウフォームの約半分のサイズにすぎません。
c# - DataGridView ToolTipText が表示されない
DataGridView
プロパティが設定された列を持つデスクトップ アプリでバインドされたデータがありますToolTipText
が、グリッド ビュー (セルまたはセル ヘッダー) にカーソルを合わせてもツール ヒントが表示されません。
ShowCellToolTips
グリッド ビューのプロパティは ですtrue
。ブレーク ポイントを使用して、マウス オーバーする前にプログラムで変更されないことを確認しました。
ツール ヒントのテキストが何であるかを確認するためにイベント ハンドラーを作成しようとしましたCellToolTipTextNeeded
が、イベント ハンドラーが呼び出されません。
見逃したものはありますか?
ありがとう、ロブ
編集:フレームワーク 2.0 を使用しています。
c# - DataGridView C# を使用した DataBinding
DataGridView に表示したいデータベース テーブルがあります。ただし、いくつかの外部キーがあり、他のテーブルを表す整数をユーザーに表示したくありません。
列 userId を持つこの DataTable があります。列 ID と列 username を持つ別の DataTable があります。
userId = id である userId の代わりに、DataGridView にユーザー名を表示する必要があります。
これどうやってするの?また、表示される同じテーブルのいくつかの列でこれを行う必要があります。
編集: Web フォームではなく、Windows フォーム。
data-binding - カスタムDataGridViewColumn(WinForms)内の複数のフィールドのカスタムバインディング
カスタムDataGridViewColumnの(複数のプロパティの)データバインディングについて質問があります。これが私が持っているコントロールのスキーマであり、DataGridViewデータソースとバインド可能にする必要があります。問題を議論しているアイデアや記事へのリンクはありますか?
コントロール
- グラフコントロール(カスタム):custromDataGridView列に表示されます。「開始日」、「終了日」、それ自体であるWindowsチャートコントロール、バインド可能などのプロパティがあります。
- グラフコントロールを保持し、いくつかのイベントを処理するカスタムセル(DataGridViewCustomCellはDataGridViewCellから継承します)(たとえば、OnEnterイベントは、ドラッグアンドドロップタイプのイベントのカスタムグラフ列にフォーカスを渡しますなど)
- セルテンプレートタイプを定義したカスタム列(DataGridViewCustomColumnはDataGridViewColumnから継承):CellTemplate = new DataGridViewCustomCell(); また、データバインディングの主な選択肢
データ構造:
- 他のDataGridView列に表示されるメインテーブル
- グラフテーブル-親子関係を介してメインテーブルに関連付けられます。グラフデータを保持します
- 親子関係を介してグラフテーブルに関連するチャートテーブル。グラフコントロールの一部であるwin-formチャートのデータを保持します。
これまでのところ、グラフテーブルからグラフコントロールまたはグラフ保持列/セルによってデータをバインドすることさえできません。
.net - VB.NET 2005 DataGridView 再描画
説明 :
一度作成されたグローバル DataGridView を使用しており、そのグリッド ByRef を複数のユーザー コントロールで共有しています。奇妙なことに、最初のコントロールを追加または初期化すると、そのグリッドが描画され、他のすべてのコントロールは描画されません (確かに、私はその理由が描かれていないことを知っています)
質問: 私が持っているすべてのユーザー コントロールでグローバル データグリッド ビューを強制的に再描画するにはどうすればよいですか ..!!?
DataGridView
データメンバー/データソースを使用せずにManullyにデータを入力していることに言及します。
c# - 行をプログラムで DataGridTable に追加する
C# の DataGridTable にプログラムで行を追加するにはどうすればよいですか? ユーザーがオプションを選択すると、以下に示すように取得している新しいデータを DataGridTable に再入力したいと思います。
テーブルに新しい行が追加されたように見えますが、古い行はまだそこにあり、新しい行には値が含まれていないようです (空白のテキストボックスがたくさんあり、このクエリが私のテストケースで1つの結果を返しています)。
誰かが私がしなければならないことを説明できますか?