問題タブ [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.
c# - Radiobutton 列を持つ DataGridView の作成
ラジオボタンでホストされる DataGridView 列を作成しようとしています。私はこのMSDNの記事に従っています。
チュートリアルのコードを変更して独自のクラスを作成しましたが、期待どおりに動作しません。問題は、何が欠けているのか完全にはわかりません。コンパイル時にエラーは発生しません。ただし、ラジオボタンではなくチェックボックスとして表示されます。
ここに Visual Studio プロジェクトを添付しました。そして、未知の添付ファイルをダウンロードすることに自信がない人のために、私が書いた 3 つのクラスを次に示します。
RadiobuttonColumn
クラス。DataGridViewColumn
クラスを継承しています。
UPDATED RadiobuttonCell
クラスはクラスを継承しDataGridViewCell
ます。
クラスはRadiobuttonEditingControl
クラスを継承し、Interface のメソッドRadioButton
を実装します。IDataGridViewEditingControl
誰かがこれを見て、コードでどのような変更を行うべきかについて正しい方向に向けることができれば、私は感謝しています.
ありがとうございました。
sql - データ グリッド ビューの列の書式を変更する
データ ソースとしてデータベースを入力しているデータ グリッド ビューがあります。ただし、データ型が日付の列には日付と時刻が表示されますが、時間だけが必要です。
データ グリッド ビュー テーブルの形式を変更するにはどうすればよいですか?
c# - ゼロ要素を含む可能性のあるIBindingListへのDataGridViewのバインド
VS 2008(.Net 3.5)でのC#WinFormsの使用
空の可能性があるリストをデータグリッドにバインドしようとしています。
リストに要素があり、AutoGenerateColumnsが有効になっている場合、データはリストにバインドされ、すべてが正常に機能します。
ただし、リストが空の場合、またはリストが空になった場合(最後の要素を削除することにより)、何も表示されず、背景は灰色になります。
次のように手動で列を作成した場合:
列が表示され、新しい行を追加できますが、データは実際にはバインドされておらず、列が自動生成されるときの通常のように行のデフォルト値が入力されません。
ビューを離れて戻ると、追加された行は残りますが、データは保持されません。
自動生成された列をデバッガーで手動で作成された列と比較すると、2つの間で異なる唯一のプロパティは、DataGridViewColumn基本クラスのIsDataBoundプロパティです。
AutoGenerateColumnsが有効になっている場合、IsDataBoundはtrueに設定され、リストに1つ以上の要素がありますが、falseは、列のDataPropertyNameプロパティが適切に設定されているにもかかわらず、リストの初期要素がゼロである場合です。
空のリストをデータグリッドにバインドし、すべてが適切にバインドされた状態で、ユーザーが空白のリストに行を追加できるようにする方法はありますか?
バインドする前に空のリストに要素を追加して、列を自動生成してバインドしようとしました...しかし、行が削除されるとすぐに列が消え、バインドが失われます。
その他の実装の詳細:
以下から継承するカスタムリスト/コレクションタイプであるデータソースをバインドしようとしています:
リスト内のオブジェクトは、 ICustomTypeDescriptorから継承する動的オブジェクトであり、プロパティをディクショナリ内の値にマップします。タイプは、動的タイプ(プロパティ名、タイプ、属性など)で使用可能なプロパティ情報を知っているObjectDefinitionクラスで定義されます。各リストには定義が割り当てられているため、リスト内のすべてのオブジェクトは同じです。意味。
リストに少なくとも1つの要素がある限り、すべてが適切にバインドされ、正常に機能するため、これは重要ではないと思います。
c# - DataGridView では、1 つの列にファイル名があり、ユーザーがファイル名とパスを入力/変更できるように各行にボタンが必要です
はDataGridView
にバインドされていDataSet
ます。この例では、列が 1 つしかないとします。1列目はファイル名です。FileOpenDialog
行ごとに、ファイル名の列を変更または更新するために開く必要があります。ボタンを追加するにはどうすればよいですか? 別の列に配置する必要がありますか、それとも同じ列に配置できますか?
c# - 別の TabControl ページに配置されている datadridview 列の幅を変更する方法
フォームに 2 ページの TabControl があります。各ページにはデータグリッドビューが含まれています。イベントではForm.Load
、データベースの SQL からデータグリッドビューを埋め、それらのグリッドの列幅の一部を変更しています。
私のデータグリッドビューは両方ともデータベースからデータを取得しています。私の最初のデータグリッドビューでは、すべて問題ありません。しかし、2 番目の TabPage で 2 番目の datagridview の列幅を変更しようとすると、メッセージが表示されますObject reference not set to an instance of an object
。しかし、なぜ?以下のスクリーンショットでは、2 番目の datagridview に列名が存在することがわかりますが、列幅を変更することはできません。
私が間違っていることは何ですか?私のデータグリッドは空ではなく、データが含まれています。最初に TabPage などをアクティブにする必要がありますか?
c# - How to remove sorting glyph in datagridview without removing Sorting facility
How can i remove sorting glyph from column headers in DataGridView without removing its sorting functionality.
I am working on windows form application in C#, i want to generate report from a datagridview, where datagridview column width will assign in report column, where as the DataGridView column include the with of sorting glyph, that is unnecessary space in my case, i want to exclude it from ColumnHeader.
c# - カスタム DataGridViewColumn - マウスをダブルクリックするまでセルが描画されない (表示されない)
datagridview 用のカスタム DataGridViewColumn を作成する必要があるため、次のシナリオ (スケルトン) を想像してください。
*PropertyEditor は National Instruments のコンポーネントです。これがセルの内容です。
したがって、プログラムで列を作成してから、次を追加します。
私の問題は、DefaultNewRowValue では、this.propertyEditor が null であり、引数なしの CustomCell コンストラクターが列を追加した後に自動的に呼び出されるため、パラメーターによって渡されるものではないことです。パラメータとして渡されたデフォルト値でセルを初期化したい。どうすればこれを達成できますか?
どうも。
c# - C# でプロシージャから結果を返すときに、スペースが「_」に変更されました
フォームにストアド プロシージャと DataGridView を含むデータベースがあります。プロシージャの結果を DataGridView にバインドしたいのですが、すべてが機能します。テーブルにはプロシージャの結果が入力されていますが、列にはスペースの代わりに下線 ("_") があります。
例: 「Cookies count」は「Cookies_count」と表示されます。
列名を設定するストアド プロシージャ内のコード:
SELECT
Films.TitlePL as [Polish title],
Films.TitleOrg as [Original title],
FilmCategory.CategoryName as [Category name],
Films.ProductionYear as [Year of production],
引数を使用してプロシージャを実行し、DataGridView にバインドするための C# コードは次のとおりです。
c# - DataGridView の「AlternatingColumnsDefaultCellStyle」を偽造するにはどうすればよいですか?
DataGridView には、チャンピオンのように機能する「AlternatingRowsDefaultCellStyle」があります。しかし、反対の種類の境界/装飾が必要です。列の背景をデフォルトとは異なる色にできるプロパティはありますか、それとも CellFormatting イベントのコードを記述する必要がありますか?
アップデート
OK、これは奇妙に思えます:
このコードでは、アセンションから:
...私は得る:
'System.Windows.Forms.DataGridViewColumn' には 'ItemStyle' の定義が含まれておらず、タイプ 'System.Windows.Forms.DataGridViewColumn' の最初の引数を受け入れる拡張メソッド 'ItemStyle' が見つかりませんでした (using ディレクティブがありませんか?またはアセンブリ参照?)
ただし、最初の部分 ( dataGridView1.Columns[i]. ) だけを入力すると、選択する有効なオプションとして Intellisense を介して "ItemStyle" を取得しますが、そうすると赤くなります (おそらく Resharper 効果)。その後のドットにより、BackColor プロパティを選択できます。これは赤ではありません。
この奇妙な動作が発生するのはなぜですか? また、回避策はありますか?
そして: 赤の Intellisense アイテムはアクセスできないことを示していますか? もしそうなら、なぜそれらは表示されますか? 「ティーザー」メンバーは価値がありますか?
更新 2
これは機能します(アセンションに触発されたので、私は彼/彼女に正しい答えを与えています):
c# - DataGridViewから「Column-1」を削除するにはどうすればよいですか?
columns
のと行を動的に作成してからDGV
、cells
に適切な値を入力しています。
現在、内容がDataGridView
(に設定ScrollBars
した)には大きすぎますが、最初の列は右にオフセットされており、 0があるはずNone
の場所に黒い帯があります。column
どのプロパティがこの侵入者を削除しますか?