如何通过select value from listbox1 (by id)显示在listbox2上的值



如何通过select value from listbox1 (by id),在asp.net c#…

的例子:

listbox1 (car name) :  Fiat , subaro, honda
listbox2 (car type..after fiat selected at box1) : punto sx, punto gx. punto blabla-x (...)
listbox3 (car year...after type selected) : 2000-2002 (....)
listbox4 (items for the car that selected at lstbox1 2 and 3 .. : volta, wheel (...)

我有数据库(sql)表:CarName, CarType, CarYear, Items

谢谢!

一个简单的方法是将第二个列表框绑定到第一个列表框的selectedindexchanged事件中的一个变量。示例(本例中使用下拉列表框):

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    var x =
        [LINQ query here]
    DropDownList2.DataSource = x;
    DropDownList2.DataTextField = "[fieldname]";
    DropDownList2.DataValueField = "ID";
    DropDownList2.DataBind();
}

如果你知道如何编写查询并将正确的字段分配给DataTextField(将显示在第二个列表框中的那个),你就设置好了。

试试AjaxControlToolkit控件

尝试SelectedIndexChanged事件。只要确保你在标签中有id。以下是我最近(WinForms)的家庭作业编辑的一个例子:

private void lstCarName_SelectedIndexChanged(object sender, EventArgs e)
{
    if (lstCarName.SelectedItems.Count > 0)
    {
        int CarId = (int)lstKlanten.SelectedItems[0].Tag;
        MakeCarTypeListBox(id);
    }
}

MakeCarTypeListBox可以看起来像这样:

private void MakeCarTypeListBox(int carId)
{
    lstCarType.Items.Clear();
    CarType[] carTypes = CarType.CarTypesByCarNameI(carId);
    for (int i = 0; i < carTypes.Length; i++)
    {
        ListViewItem item = new ListViewItem(carTypes[i].Id.ToString());
        item.SubItems.Add(carTypes[i].CarTypeName);
        item.Tag = carTypes[i].Id;
        lstDetail.Items.Add(item);
    }
}

请记住,我使用的是WinForms和自制的实体类,所以你的代码可能会有所不同…

相关内容

  • 没有找到相关文章

最新更新