0

次の方法でバインディング ソースに行を追加することは可能ですか。

"Please Select..."   <-- what it will display on the combobox
DbNull.Value   <-- Value

バインディング ソースにバインドされたデータであるコンボ ボックスがあります。データベースに余分な行を追加したくありません。コンボボックスに表示するだけのオプションがあるため、上記を読み取ると、対応する値がデータベースに設定されます。また、同じデータ メンバーとデータ ソースを使用する他のコンボ ボックスがあるため、その特定のコンボ ボックスにオプションを追加したいだけです。

上記は、デザイナー ファイルの InitializeComponent() メソッドの内容です。

  this.cmbSecCSR = new System.Windows.Forms.ComboBox();
        this.csrBindingSource2 = new System.Windows.Forms.BindingSource(this.components);
 this.cmbSecCSR.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.cmbSecCSR.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
// this.cmbSecCSR.Items.Insert(0, "Select");
this.cmbSecCSR.DataSource = this.csrBindingSource2;
this.cmbSecCSR.DisplayMember = "Name";
this.cmbSecCSR.FormattingEnabled = true;
this.cmbSecCSR.Location = new System.Drawing.Point(112, 26);
this.cmbSecCSR.Margin = new System.Windows.Forms.Padding(0);
this.cmbSecCSR.Name = "cmbSecCSR";
this.cmbSecCSR.Size = new System.Drawing.Size(184, 21);
this.cmbSecCSR.TabIndex = 2;
this.cmbSecCSR.ValueMember = "Username";
this.cmbSecCSR.TextChanged += new System.EventHandler(this.comboBox_TextChanged);
this.cmbSecCSR.Enter += new System.EventHandler(this.cmbBox_Entered);

// csrBindingSource2
// 
this.csrBindingSource2.DataMember = "CSR";
this.csrBindingSource2.DataSource = this.productionDS;

///この画像をチェック

4

2 に答える 2

0

このサンプル方法を試してください。

マークアップ:

<asp:DropDownList ID="ddljobcategory" CssClass="txtborder" Width="175px" runat="server" Height="20px" >
</asp:DropDownList>

分離コード:

DataView dvProduct = new DataView();
dvProduct = objcategory.GetCategoryType();
ddljobcategory.DataTextField = "CatName";
ddljobcategory.DataValueField = "CatId";
ddljobcategory.DataSource = dvProduct;
ddljobcategory.DataBind();
ddljobcategory.Items.Insert(0, "Select");//**Add your content instead of Select**
ddljobcategory.Items[0].Value = "0";

次のように表示されます。

ここに画像の説明を入力

ここに画像の説明を入力

于 2013-04-09T18:02:56.503 に答える