問題タブ [datagridviewcolumn]

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

winforms - DataGridViewCheckBoxColumn: 検証ではなく変更されたプロパティでバインドされた DataSource を更新する方法

DataGridView のデータ ソースとしてバインドされた BindingList があります。TSource プロパティの 1 つが DataGridViewCheckBoxColumn にバインドされていますが、チェックボックスがクリックされたときではなく、チェックボックス自体のフォーカスが失われたときにデータ ソースが更新されます。

DataSourceUpdateMode が "OnPropertyChanged" ではなく "OnValidation" の場合、標準の WindowsForms バインディングで同様のことが起こることはわかっていますが、DataGridViewCheckBoxColumn で同じ結果を得るにはどうすればよいですか?

列は次のように定義されます。

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

performance - DataGridView のすべての列の幅を変更する

2048 列の DataGridView があります。ユーザーが DataGridView のすべての列の幅を増減できるようにする必要があります。

現在、ボタン クリック ハンドラで次のことを行っています。

しかし、それには時間がかかります!(より具体的には約2秒)。(注: ColumnHeadersHeightSizeMode プロパティを DataGridViewColumnHeadersHeightSizeMode.DisableResizing に設定してパフォーマンスを向上させましたが、それで十分ではありません)

列のサイズ変更を実現するより速い方法はありますか?

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

datagridview - DataGridviewComboBoxは、アイテムのリストを表示するために2回のクリックが必要です

重複の可能性:
シングルクリックで(データグリッドビューで)ドロップダウンを開く

1つの列がDropDownButtonスタイルのComboBoxであるDataGridViewがあります。DataGridViewはFullRowSelectモードです。5行あり、DataGridViewで行0が選択されていると仮定します。

たとえば行2のComboBoxから項目を選択したいので、ComboBoxの小さな矢印をクリックします。これを行うと、最初に、DataGridViewの行2が選択されます。ComboBoxはまだ開きません。2回クリックするだけで、ComboBoxが開きます。

実際、以前は3回のクリックが必要でしたが、次にCellMouseDownをオーバーロードして次のことを行いました。

これにより、クリック数は2回になります。ワンクリックでComboBoxアイテムを表示する方法はありますか?

編集:ComboBoxの小さな矢印をクリックする代わりに、ComboBox自体をクリックすると、ComboBoxアイテムを表示するのに3回クリックする必要があることにも言及する必要があります。

0 投票する
10 に答える
116638 参照

c# - カスタムDataSourceを使用するときにDataGridViewの列を非表示にする方法は?

私はc#で小さなアプリを持っています.DataGridViewを使用して埋められます:

grid.DataSource = MyDatasource array;

MyClass は列の構造を保持します。次のようになります。

すべてが正常に機能し、DataGridView に正しいデータが取り込まれますが、今は column2 を非表示にしたいと考えています。[Browsable(false)]列宣言の上に追加しようとしましたが、それはそれを非表示にしますが、コードから列値にアクセスする必要もあり[Browsable(false)]、コンテンツを使用して読み取ろうとすると、列が存在しない場合のように動作します。使用しない場合、問題なく列を読み取ることができますが、DataGridView に表示されます。

列を非表示にしながら、コードからその内容を読み取ることができるようにするにはどうすればよいですか?

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

c# - DataGridViewColumnButtonをクリックしたときにDataGridViewの行を非表示にするにはどうすればよいですか?

WinFormsSystemTrayアプリにを追加しましたDataTableDataGridView「公開」と「無視」のように、各行に2つのボタンがあります。2つのボタンのいずれかをクリックすると、ボタンのインデックスが同じである特定の行を非表示にする必要があります。

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

c# - 列ヘッダーをクリックしたときのDatagridview列の並べ替え

私はdatagridview2つの列nameとを持っていますprice

列ヘッダーをクリックすると、対応する列がアルファベット順に並べ替えられます。データグリッドビュー列を並べ替えるためにイベントハンドラーを追加する必要がありますか?または、データグリッドビュー列を並べ替えるために設定するプロパティはありますか?私はC#を使用してWindowsアプリケーションに取り組んでいます。

誰かがこれを手伝ってくれませんか?

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

c# - datagridview列をソートする方法エラーが発生しました:引数NUll例外が処理されませんでした

次のコードを使用して、次のlinqを使用してデータグリッドビューをエンティティフレームワーククエリにバインドしています。

商品ID、商品画像、商品名、商品説明、商品価格の列があります。

クライアントの目的で一部の列が表示されないようにしました。

次に、列ヘッダーをクリックして列を並べ替えます...。

注:ここでは、product.imageはデータベースに配列のバイトとして格納されています...。

バイトを比較してそのようにソートする方法がわかりません。

誰かがこれを手伝ってくれるだろう......

どうもありがとう...

変更されたコード:

エラーが発生しました:引数NUll例外が処理されませんでした..

誰かがこれを手伝ってくれるだろう...

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

c# - データグリッドビューにボタン列を追加すると、問題が発生します

正常に機能するデータベースからのデータとのdatagridviewバインディングがあります。フォームが読み込まれると、データが読み込まれます。クライアントの要件に従って、次のコードを使用してデータグリッドビューに新しいボタン列を追加しました

フォームが正常に機能するようにロードされたとき。

しかし、リストビューのようなものでアイテムのいずれかを選択した場合のような条件をチェックしています。データグリッドビューは、選択したアイテムに従って並べ替えられます...そのために私はこのように行いました...。

  • リストビューの最初のアイテム(「すべて」)をクリックすると、データグリッドビューは正常に機能しています...。
  • リストビューの最初のアイテム(「すべて」)をもう一度クリックすると、ボタンの列が2回表示されます...。
  • リストビューの最初のアイテム(「すべて」)をもう一度クリックすると、ボタンの列が3回表示されます...

これは、リストビューのすべてのアイテムで発生していることです。

私の質問は、データグリッドビューにボタン列を追加する他の方法はありますか?

form1.cs [design]にボタン列を追加しようとしましたが、これはdatagridviewの実際の列に影響します。私はC#言語のWinFormで作業しています。誰かがこれらについて何かアイデアを提案できますか?

このループで以下のコードを削除するとします

実際のボタンの列が消えました。誰かがこれを手伝ってくれませんか。

変更されたコード:

最初の条件:if(lstviewcategories.SelectedItems [0] .Text.ToString()== CategoryType.Type2){

2番目の条件:

これらの牽引条件は機能していません..

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

c# - DataGridView セルのカスタマイズ

並べ替えのために Int64 値を受け入れる datagridview のセルを作成したいと思います。

さらに、そのセルには、現在の値とデータグリッドビューの外にある参照値との差である追加の値が表示されます。

文字列として実行することもできますが、1、10、11、2.... などのように見えるため、並べ替えが正しく処理されません。

そこで、カスタムセルを作成してセル値を長く定義し、文字列を表示できれば素晴らしいと思いました...しかし、これが達成できるかどうかはわかりません....

誰かがこれを簡単な方法で達成する方法を知っていますか? datagridview を手動で読み込んでいますが、並べ替えを許可する列の型を定義していることに注意してください。

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

ado.net - DataGridViewのコンテンツをデータセットにコピーするにはどうすればよいですか?

私はADO.NETが苦手なので、インターネットから取得した次のコードを使用しましたが、「位置0に行がありません。」というエラーが表示されます。ブレークポイントを使用して渡される