問題タブ [datagridviewcombobox]
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.
winforms - DataGridViewのInitializeEditingControlValueでオブジェクトのインスタンスに設定されていないオブジェクト参照
DataGridViewがあり、アイテムのリストを含むComboBoxセル内にあります。これらのアイテムの1つをクリックすると、メインウィンドウにこれらの「アイテム」のコンテンツが表示されます。しかし、ユーザーが小さな矢印をクリックしてアイテムを選択したが、最終的に何も選択しなかった場合、NullReferenceException(オブジェクト参照がオブジェクトのインスタンスに設定されていない)が発生しました。
Googleで、自分のComboBoxCell(または列)を実装する必要があるという何かを見つけましたが、見つけた唯一の例は、私が得たものよりもさらに悪いものです。
参考までに、ComboBoxCellの項目をDataBindingCompleteに入力し、値をRowPrePaintに入力します。そうそう:そして、各ComboBoxCellは「アイテム」の異なるリストを取得しました。
解決策を見つけるのを手伝ってください。
PS誰かが私たちにこの問題がある理由を説明できれば...
c# - DataGridViewComboBoxインデックス変更イベントのトラブル
誰かがこれを手伝ってくれることを願っています。コードに修正できないバグがあります。DataGridViewコントロールでSelectedIndexイベント処理を使用してテストしています。
2つの列を作成しました:-
列0はDataGridViewTextBoxColum
列1はDataGridViewComboBoxColumn
&である2つの列で構成されるComboBox
小さなデータソースを列に指定しました。DataTable
Username
UserID
表示メンバーはユーザー名列に設定されており、ユーザーID列はValueMemberとして設定されています。
私が探しているのは、列0( )であり、のIndex Changedイベントに( )DataGridViewTextBox
を入力します。UserID
ValueMember
DataGridViewComboBoxColumn
プログラムを最初にロードしたときは正常に動作します。イベントはIndexChanged
エラーなしで発生します。しかしComboBox
、新しい行でを選択しようとすると、コンボボックスの値が前の行からクリアされ、Null参照例外がスローされます。
以下にコードをリストし、失敗するコードの行を強調表示しました:-
vb.net - オブジェクトにバインドされた Datagridview - 新しい行を空白にする
ユーザーがlistBoxで行った選択に応じてコンテンツを変更するDatagridviewがあります。DGV は、2 つのコンボボックス (国、製品) と 1 つのテキストボックス (数量) で構成されています。
3 つの整数を組み合わせたクラスを作成しました。このクラスは、DGV のデータソースであるリストのタイプとして使用されます。前のリストを含む別のリストもあるので、データソースのリストがあります。
DGV のデータソースは、listBox の SelectedIndex が起動されるたびに変化する BindingSource です。
私の問題は、新しい行が DGV に追加されるたびに発生します。クラスのコンストラクターを呼び出す BindingSource.AddNew を使用しますが、クラス内の各項目に値を割り当てる必要があります。そうすれば、DGV の任意のセルをクリックするたびに、空白の行が表示されなくなります。また、BS が変わって戻ってくると、もう 1 行追加されます。
私が取得したいのは空白行です - 空のコンボボックスとテキストボックスです。
ご協力いただきありがとうございます!
クラス:
新しい内部リストの作成:
SelectedIndexChanged イベント:
sql-server - datagridviewコンボボックス列は、データベースにコミットするときの速度に影響しますか?
frmTransactionという名前のフォームがあり、txtTranNo、txtCustCode、dtbDate、txtRemarks、txtTotalAmountがあり、dtgDetailという名前のdatagridviewがあります。
dtgDetailには、列cTranNo、nLineID、cProductID、nQty、nPrice、およびnAmountがあります。
cProductIDは、データメンバーcProductと表示メンバーcDescriptionを持つコンボボックス列であるため、実行時に、ユーザーには製品コードではなく製品名が表示されます。
しかし、私の製品には2000のレコードがあり、フォームをロードすると非常に遅くなります。また、データベースに保存/コミットするときにも時間がかかります。
cProduct列は、フォームの速度と関係があると思います。これは本当ですか?どうすればスピードアップできますか?
編集
コードを表示することはできますが、コードがどのように機能するかを説明するだけで混乱は少なくなります。私の設計時には、datagridviewに空の列があります。datagridviewの名前は、バインドされるテーブルの名前でもあり、実行すると、テーブルのスキーマに基づいて自動的にバインドされる列が作成されます。また、フィールドがコンボボックス列になるのか、単なるテキストボックスになるのかをプログラムに通知するフラグもあります。コンボボックス列の場合は、SQLスクリプトを生成し、実行して、コンボボックスのデータソースとなるデータテーブルに結果を保存します。コンボボックス列のデータメンバーと表示メンバーもフラグによって決定されます。
コンボボックス列のデータソースのスクリプトに条件を設定しないことをお勧めします。
編集-12-05-12datagridview コンボボックス列にバインドするときにsqlデータソースをフィルタリングしようとしています...そしてフォームを高速化するのに役立ちます。私の問題は、コンボボックスに含まれていない新しいレコードをdatagridviewに追加するときです。たとえば、このスクリプトをdatagridviewにバインドします。「selectID、Desc from product where ID in(1,2,3,4,5)」。ID = 6の新しいレコード/アイテム/製品をdatagridviewに挿入すると、説明datagridviewが表示されません...
backbone.js - Backbone.jsテーブルリストでコンボボックスオプションを選択するにはどうすればよいですか?
リストテーブル テンプレートにコンボボックスを追加しました
だから私のchkモデルは;
しかし、今では次のようなエラーが発生します。
それで、なにかお手伝いできますか?
c# - DisplayMemberの代わりにSystem.Data.DataRowViewを表示するComboBox列を持つDataGridView
私はC#4.0WinFormsを使用しています。デザイナですべての列が設定されているDataGridViewがあります。「部屋」列はDataGridViewComboBoxColumn列です。
部屋の列を含め、すべてのセルに正しい情報が表示されます。ただし、RoomのDropDownをクリックすると、リスト内のアイテムに、DisplayMemberプロパティの実際の値ではなく、System.Data.DataRowViewという行の数が表示されます。
私のコードは次のようになります。
RoomTypeクラスを次のように定義しました。
データベース内のアイテムの部屋を変更すると、期待どおりにGridViewコンボボックス列に正しく表示されます。
列のDisplayMemberとValueMemberを設定しました。ドロップダウンをプルダウンして値を変更すると、正しい行数が表示されますが、DisplayMemberプロパティを無視しているようです。私は自分が間違っていることを理解するためにかなり長い間努力してきました。私はSOに何時間も費やして、すべての同様の質問を調べ、ほとんどすべてを試しました。
c# - DataGridViewComboBoxColumn から DataGridView のソースの基になるプロパティに値を割り当てる
CustomerPricing の BindingList に割り当てられた datagridview があり、CustomerPricing 内には、製品名、価格、希望する数量、このアイテムが課税対象かどうかなどのフィールドがあります。datagridview 内には、製品のリストをデータ ソースとして持つ DataGridViewComboBoxColumn があります。製品には、名前、価格、および課税対象かどうかのフィールドがあります。
クライアントの希望は、製品が選択されると、価格値が DataGridView に自動的に表示され、開発者の観点から、Taxable プロパティも更新されることです (これは表示されません)。
これを達成する方法を知っている人はいますか?EditControlShowing イベントを使用して値をセルに直接割り当てようとしましたが、表示されていない基になるオブジェクトのプロパティを更新するのに役立ちません。私はハックを作成しました。これは機能しますが、遅く、より受け入れられる方法がない場合にのみ使用したいと考えています。
ありがとう
winforms - DataGridViewComboBoxColumn設定選択されたインデックス
私はこれを機能させることができません。私はwinformsにdatagridviewを持っており、この列の1つはDataGridViewComboBoxColumnです。
私のコンストラクターでは、そのように設定しました
そして、私が望むドロップダウンボックスで何も選択されていないことを除いて、それは実際にうまく機能します。私はこれをグーグルで検索し、たとえばこのアプローチを試しました:http: //goo.gl/kBy8Wしかし、EditingControlShowingはボックスをクリックしたときにのみ発生し、最初に表示されたときでは発生しないためです(クリックすると選択したインデックスを設定できます)しかし、それは良くありません)。CellFormattingバージョンは少なくとも値を変更しますが、データソースからの最初のインデックスではなく文字列をそこに配置するだけです。
私もこれを試しました
それは機能しているように見えましたが、ドロップダウンで最初のインデックスを選択すると(ドロップダウンをドロップして最初のインデックスを選択し、セルを選択解除します)、ParseFormattedValueから「値」をに変換できないというエラーが発生しましたsystem.String。
これは正しい方向に進んでいるように見えましたが、動作させることができませんでした:http: //goo.gl/VevA3
c# - DataGridViewでコンボボックス列をデータバインドする方法は?
私の状況は以下です。
「Student」というクラスを無視しました。以下のように簡単です。
List<Student>
次に、という名前を定義しましたstudentList
。
studentList
これをと組み合わせるにはどうすればよいDataGridView
ですか? の 2 列目はDataGridView
、学生のすべての科目を一覧表示するコンボボックスである必要があります。
c# - Telerik GricViewComboBox アペンド リストのフォントを変更する
私はComboBox列を持つTelerik GridViewを持っていますが、このComboboxで追加リストをドロップダウンしてフィルタリングしています。
下の画像と同じ...
なのでAppendリストのフォントを大きくしたいです。
どうやってするの?