0

在我的项目中,我有 2 个下拉列表框和 1 个文本框。我已经将数据库中的 2 个下拉列表“PostalDropDown”和“CityDropDown”绑定在一起,它工作正常,然后我将列表框也绑定到以前的下拉菜单,它也工作正常!

我的问题在这里我仍然有最后一个文本框,我希望它显示名称,该名称也绑定到下拉列表的结果。我无法弄清楚,因为文本框没有 SelectValue 属性,所以我不能像我对下拉列表或列表框所做的那样分配它:

       if (!IsPostBack)
        {
            IEnumerable<Tuple<string, string, string, string>> data = GetData();
            DropDownListPostal.DataSource = data.Select(tuple => tuple.Item1).Distinct().ToList();

            DropDownListPostal.DataBind();
            DropDownListCity.DataValueField = "Item1";

            DropDownListCity.DataTextField = "Item2";
            DropDownListCity.DataSource = data;
            DropDownListCity.DataBind();

            ListBox1.DataValueField = "item1";
            ListBox1.DataTextField = "Item4";
            ListBox1.DataSource = data;
            ListBox1.DataBind();

        }              
    }

然后我在第一个下拉列表中的 selectedindexchanged 上查看结果:

     protected void DropDownListPostal_SelectedIndexChanged1(object sender, EventArgs e)
        {
        //DropDownListPostal.ClearSelection();

        ListBox1.ClearSelection();
        DropDownListCity.ClearSelection();           
        var postal = DropDownListPostal.SelectedValue;
        var listItem = DropDownListCity.Items.FindByValue(postal);
        var street = ListBox1.Items.FindByValue(postal);


        listItem.Selected = true;            
        street.Selected = true;

谁能告诉我如何在文本框中添加其余的数据库结果?如果你们都愿意,我可以把整个页面的代码。

干杯

4

1 回答 1

0

如果您真的想在一个很奇怪的文本框中显示所有项目,您可以像这样以逗号分隔显示它们

TextBoxId.Text = String.Join(",", data.Select(op => op.Name));

其中 Name 是包含要在文本框中显示的属性的属性

编辑

如果要显示列表框的选定项目,则循环其项目并检查该项目是否被选中,然后将其显示在您的文本框中。

foreach (ListItem item in ListBox1.Items)
            {
                if (item.Selected)
                {
                    txtval.Text += " " + item.Text +"/"+ dropdowncity.SelectedItem.Text +"/"+ dropdownpostal.SelectedItem.Text;
                }
            }
于 2012-09-27T08:34:42.600 回答