2011-05-15 85 views
1

我在我的SQL數據庫中有一個名爲「Shoppings」的表。這個有一個名爲qtPisos的專欄,它描述了購物中心有多少層。在我的程序中,我想根據這個整數的數量創建一個組合框,所以用戶可以選擇購物中心的層次,然後它將列出該特定層次的商店。將整數轉換爲組合框中的數字列表 - C#

任何想法我該怎麼做?

這是我的代碼。

public partial class Shoppings : Form 
{ 
    private DataViewManager dsView; 
    private DataSet ds; 

    public Shoppings() 
    { 
     InitializeComponent(); 
    } 

    private void Shoppings_Load(object sender, EventArgs e) 
    { 
     Login logForm = new Login(); 
     logForm = logForm.getLoginForm(); 
     ds = new DataSet("DsShoppings"); 

     // Fill the Dataset with Shoppings, map Default Tablename "Table" to "Shoppings". 
     SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Shoppings", logForm.sqlConnection); 
     sda.TableMappings.Add("Table", "Shoppings"); 
     sda.Fill(this.ds); 

     // The DataViewManager returned by the DefaultViewManager property 
     // allows to create custom settings for each DataTable in the DataSet. 
     this.dsView = ds.DefaultViewManager; 

     // Combobox Databinding 
     ComboShopping.DataSource = this.dsView; 
     ComboShopping.DisplayMember = "Shoppings.nomeShopping"; 
     ComboShopping.ValueMember = "Shoppings.idShopping"; 

     // Text Columns DataBinding 
     txtTotalLojas.DataBindings.Add("Text", dsView, "Shoppings.totalLojas"); 

     //int qtPisos = Convert.ToInt32(ds.Tables["Shoppings"].Rows[0]["qtPisos"]); 
     ComboPisos.DataSource = this.dsView; 

回答

1

可以檢索電平的值,然後創建使用該值作爲最大值的數字數組:

var levels = Enumerable.Range(1, levels) 

然後可以綁定此值,以一個DropDownList控制或這樣。

control.Source = levels; 
control.Bind() 

以隨後顯示的商店列表這個水平,你可以使用DropDownList的自動回功能和檢索基於控件的SelectedValue屬性的商店。

+0

謝謝你的回答!我做了一個循環的c-ish來填充下拉列表。我的問題是使其成爲動態。我如何從組合框中檢索當前值?在這種情況下,我需要ComboShopping.DisplayMember或ComboShopping.ValueMember。當我直接調用出現在db(p.e:table.column)中的位置時。 – Kornel 2011-05-16 17:15:00