問題タブ [datagridviewcheckboxcell]
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# - DataGridViewCheckboxCell の背景色
オブジェクトのリストにバインドしており、この回答のように、イベントDataGridView
を使用して動的なセルの背景色を設定しています。これは、を除くすべての列でうまく機能します。このセルの内側 (チェックボックスの外側) をクリックすると、セルの背景がデフォルトの白に変わります。CellFormatting
DataGridViewCheckboxColumn
視覚的には、セルの選択が行われているように見えますが、それを止めようと最善を尽くしています。私のセルフォーマットコードは と を設定しSelectionBackColor
ますBackColor
。イベントを使用してセル選択を無効にしましたCellStateChanged
が、他の列は選択できません。
チェックボックスのセルの動作をオーバーライドするための追加の回避策はありますか?
c# - データバウンドDataGridViewのチェックボックスを選択できません
私は完全に正常に動作しているDataGridViewを持っています。データを表示するためだけに使用します。
ここで、チェックボックスで行を選択し、ボタンをクリックするだけで選択した行に対してのみ操作を実行できるようにします(このボタンは同じフォームのグリッドから外れています)。この目的のために、次の手順に従って、datagridviewにチェックボックス列を追加します。
アプリケーションを実行すると、マウスクリックでもキーボードでもチェックボックスをオンにできません。そして、その見た目から、それが無効/読み取り専用状態ではないことがわかります。したがって、チェックボックスをクリックしようとすると、有効なチェックボックスと同じように、通常どおり境界線が変更されます。しかし、最後にそれはチェックボックスをチェックしていません。
c# - DataGridView は、チェックボックスの値が変更された直後にデータソースを更新します
にバインドされている System.Windows.Forms DataGridView がありますList<MyObject>
。
クラス MyObject には、DataGridView 内の DataGridViewCheckboxCell にバインドされたブール プロパティが含まれています。
HasCustomValue
別の (読み取り専用) プロパティの値を変更すると、その値もCurrentValue
変更されます。これは、INotifyPropertyChanged イベントを実装することによって行われます (簡単にするために、その部分をソースの例に残しました)。
DataGridView の外部から変更した場合HasCustomValue
、バインドされた列CurrentValue
はすぐに更新されます。ただし、ユーザーがチェックボックスを有効または無効にHasCustomValue
しても、マウスをクリックするか TAB キーを押して列を離れない限り、基になるデータソースでは変更されません。
チェックボックスの値を変更した後、グリッドがデータソースを直接更新するように強制する方法はありますか?
コントロールプロパティをバインドすると、に設定するDataSourceUpdateMode
ことWindows.Forms.DataSourceUpdateMode.OnPropertyChanged
ができますが、DataGridView でそのようなものは見つかりませんでした
c# - データグリッドビューのチェックボックス列をプログラムでオフにします
データグリッドビューの DataGridViewCheckboxColumn のすべての行をプログラムでチェック解除するにはどうすればよいですか?
を使用してチェックボックスの正しい値を取得できます
しかし、それは単なるゲッターです。
を使用してセルの値を設定しようとしました
ただし、それは FormattedValue には影響しません。
どうすればこれを解決できますか?
c# - Datagridview チェックボックス列の検証
DatagridViewには、データバインドされたチェックボックス列があります。しかし、複数のチェックボックスをオンまたはオフにすると、すべての変更が保存されるわけではありません。(すべてのプロパティ Set メソッドをトリガーするわけではありません。おそらく 2 番目ごとにトリガーされます)。ただし、チェックボックスをクリックするたびに、次のチェックボックスの前に別のセル (列) をクリックすると、すべてのアクションが Set メソッドをトリガーします。したがって、セルの検証はセルごとではなく、列ごとに機能するようです(チェックボックス列の場合)。では、これをどのように解決しますか?
vb.net - DataGridView でチェックボックスの状態を検出する際の問題
チェックボックス列を含む .Net アプリケーションに DataGridView コントロールがあります。ユーザーがチェックボックスを編集できるようにしたいと思います。私が直面している問題は、ユーザーがチェックした後、チェックボックスの状態を検出できないことです。
チェックボックスが最初にチェックされていた場合、DataGridViewCheckBoxCell がフォーカスされるとすぐにチェックが返されます。しかし、チェックボックスをもう一度クリックしてチェックを外しても、チェックされたままになります。その時点から、チェックボックスの実際の状態に関係なく、フォーカスが失われて再び取得されるまで、常にチェックされた状態に戻ります。
同様に、チェックボックスが最初にチェックされていなかった場合、チェックボックスが実際にどのような状態であるかに関係なく、チェックボックスがフォーカスされるとクリックイベントでチェックされていない状態に戻ります。
これが私のコードです。
前もって感謝します、
マイク
winforms - チェックボックスがチェックされているかどうかを知る方法
データ グリッド ビューでは、行をループして、チェックされたチェックボックスを含む行を取得する必要があります dgv.rows[i].cells[0].valueは両方のケースで空を返します。
c# - DataGridViewCheckBoxCell の値をすぐに更新するにはどうすればよいですか?
DataGridViewCheckBoxCell
コントロールで aを使用していDataGridView
ます。ユーザーがチェックボックスをクリックしている間、特定の条件を確認し、その値を false に設定します。ただし、ユーザーが次の行に移動するまでチェックボックスはオンのままです。値がすぐに更新されるようにこれを修正するにはどうすればよいですか
c# - C#選択したDataGridViewCheckBoxCellのエクスポート
datagridviewで選択したチェックボックス項目のみをエクスポートしようとしています。私が持っている現在のコードは機能しますが、問題はすべてをエクスポートすることです。エクスポートされたcsvファイルでTrue / False値を確認できますが、私の人生では、真の値のみをエクスポートする方法を理解できません。すべてではない。コード例を以下に示します。
データグリッド「Selection_Box」のチェックボックスはDataGridViewCheckBoxColumnです。ExampleExportは、「エクスポート」というボタンにリンクされています。ユーザーがデータグリッドのチェックボックスを選択して[エクスポート]をクリックすると、.csvファイルが以下のような値でデスクトップにダンプされます。
True、3,1、Piping、Manual、RTD、2,45 Axe、
True、4,1、Piping、Manual、RTD、2,60 Axe、
True、5,1、Piping、Manual、RTD、1.5,45 C 、
False、6,1、Piping、Manual、RTD、2,45 Axe、
False、8,1、Piping、Manual、RTD、1.5,45 C、
False、29,1、Piping、Manual、RTD、2,45 C、
編集:私を正しい方向に向けてくれてありがとう、それは非常にありがたいです。私はifステートメントを次のように微調整することになりました。
選択した値をダンプしています。
c# - DataGridViewCheckBoxCellフォームの読み込み中に設定されたときにチェック済みを表示する方法
DataGridViewCheckBoxCellsのバインドされていない列とともに、DataTableからデータをロードするDataGridViewがあります。DataGridViewの行は、ユーザーが保存した値を持つ別のDataTableと比較され、一致する場合は、その行のチェックボックスがオンになります。
値を比較し、チェックボックスの値を「true」に設定するコードは次のとおりです。
フォームの読み込み中にこのアクションを実行するメソッドを呼び出すとprivate void WQMDrill_Load(object sender, EventArgs e)
、値は正しく設定されていますが、チェックボックスがオンになりません。ただし、フォームの読み込みが完了した後に呼び出されると、コードは完全に機能します。残念ながら、ロードプロセス中にこれらをチェックする必要があります。
私は自分の問題を明確にしたことを願っています。この問題についての助けをいただければ幸いです。ご覧のとおり、私はセルだけでなく、DataGridViewコントロール全体を無効にしようとしました。私も持っています
この間、それは発火しません。ありがとうございました。