![](/img/trans.png)
[英]How to Set Default First Value in ComboBox inside the datagridview Windows Forms Application using C#
[英]C# Windows Forms ComboBox How to Set default value to “Select ” initially loads data from datatable
我搜索了該網站,發現一些與我要執行的操作有關的參考。 在我的情況下,沒有一個有效。
這似乎是一個簡單的問題。 我只是試圖將默認值設置為“ --Select--”。
我正在從數據庫的數據表中填充comboBox
Admin_BL admBL = new Admin_BL();
//populates datatable from database
dtBlds = admBL.GetActiveBuildings();
cmbBuilding.DataSource = dtBlds;
cmbBuilding.Text = "--Select--";
cmbBuilding.DisplayMember = "Building";
cmbBuilding.ValueMember = "Building";
我也使用了這個:
cmbBuilding.Items.Insert(0, "Select Bld");
這似乎是一個簡單的任務,我不確定為什么它不能在Windows窗體中工作,我將非常感謝您的幫助謝謝!
考慮到“ --Select--”是組合框中的第一項,在運行時,您可以通過其索引選擇第一項(當然,它可以在任何其他索引中設置,例如第三項,然后索引將為2):
cmbBuilding.SelectedIndex = 0;
要在填充組合框項目的函數中添加“ --Select--”,請先在其項目中添加“ --Select--”,然后再從數據庫中添加項目:
cmbBuilding.Items.Add("--Select--");
//添加數據庫中的其他項目。
這里的問題是您要綁定到對象,並且該對象不包含“-Select-”的條目。 您需要在查詢期間添加以下條目:
SELECT 0 AS ID, '-- Select --' AS Building
UNION ALL
SELECT ID, BUILDING FROM <TABLE>
然后,當您綁定時,您會發現“-選擇-”是第一項。
如果您不想更改查詢,則只需在檢索到數據后將新行插入數據表即可。
假設您的數據表中只有兩列(ID和建築物):
DataRow row = dtBlds.NewRow();
row[0] = 0;
row[1] = "-- Select --";
dtBlds.Rows.InsertAt(row, 0);
完成此操作后,即可進行綁定:
cmbBuilding.DataSource = dtBlds;
cmbBuilding.DisplayMember = "Building";
cmbBuilding.ValueMember = "Building";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.