从db - C#将组合框中的整数转换为数字列表

时间:2011-05-15 21:34:37

标签: c# list combobox

我的SQL数据库中有一个名为“Shoppings”的表。这个列有一个名为qtPisos的列,它描述了一个购物中心有多少级别。在我的程序中,我想基于此整数的数量创建一个组合框,因此用户可以选择购物中心中的级别,然后将列出该特定级别的商店。

知道我该怎么做?

这是我的代码。

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 个答案:

答案 0 :(得分:1)

您可以检索级别的值,然后使用此值作为最大值创建数值数组:

var levels = Enumerable.Range(1, levels)

然后,您可以将此值绑定到DropDownlist控件等。

control.Source = levels;
control.Bind()

要显示该级别的商店列表,您可以使用DropDownList的autopostback功能,并根据控件的SelectedValue属性检索商店。