将arraylist绑定到下拉菜单列表c#

时间:2016-10-05 12:10:12

标签: c#

我想将arraylist绑定到下拉菜单列表。这是我的代码。 我是C#的初学者。请帮忙。

if (selectinidialog.ShowDialog() == DialogResult.OK)
{
    selectinibtn.Text = selectinidialog.FileName;
    IniFile inifile = new IniFile(selectinidialog.FileName);

    string[] sectorelist = inifile.GetSectionNames();
    var sectorno = new List<string[]>;
    sectorno.Sort();
    selectsectorbtn.DataSource = sectorno;
    selectsectorbtn.DataBind();
}

2 个答案:

答案 0 :(得分:0)

看起来您正在获取所需的数据:

string[] sectorelist = inifile.GetSectionNames();

但是你不能对这些数据做任何事情。 (您再也不会使用sectorelist变量。)而是创建一个新的空列表并绑定到该列表:

var sectorno = new List<string[]>;
sectorno.Sort();
selectsectorbtn.DataSource = sectorno;
selectsectorbtn.DataBind();

您是否只想绑定您最初从inifile获得的数据?:

string[] sectorelist = inifile.GetSectionNames();
selectsectorbtn.DataSource = sectorelist;
selectsectorbtn.DataBind();

值得一试。虽然你并不完全清楚你特别想要做什么,因为你在这里使用两种截然不同的类型。您获取string[],但之后尝试绑定到List<string[]>。如果由于某种原因需要绑定后者,那么你需要以某种方式将前者翻译成(根据你用来定义翻译的逻辑)。但如果这只是一个错字或其他简单的错误,那么听起来你可以只绑定数据而根本不需要List<string[]>

答案 1 :(得分:0)

我建议但是不要把我的答案拿到最好的1,你宁愿不用数组直接绑定列表。 而是循环遍历它并一次添加一个项目或在适当的条件下使用AddRange()功能。 示例:

    if (selectinidialog.ShowDialog() == DialogResult.OK)
    {
        //lets say this is the dropdown list
        DropDownList list = new DropDownList();

        selectinibtn.Text = selectinidialog.FileName;
        IniFile inifile = new IniFile(selectinidialog.FileName);

        string[] sectorelist = inifile.GetSectionNames();

        list.Items.Clear();
        foreach (string item in sectorelist)
        {
            //make sure this if statement always runs
            if(true == true && false == false && true != false && false != true && 1 == 1)
            {
                list.Items.Add(new ListItem() { Text = item });
            }

        }

    }