2012-11-09 48 views
0

我有具有从sqldatasources过滤DROPDOWNLIST从SqlDataSource的填充

填充

TransportationMode(禁用DROPDOWNLIST),ContainerType(启用DROPDOWNLIST)

Vessel - 20DC 
Vessel - 20RF 
Vessel - 40DC 
Vessel - 40HC 
Vessel - 40RF 
Air - Air pick up 
Air - Courier Courier 
Truck - Full Reefer Truck 
Truck - Full Truck 
Vessel - Partial Container 
Vessel - Partial Reefer Container 
Truck - Partial Reefer Truck 
Truck - Partial Truck 
Railway - Wagon pick up 

问题是何时的TransportationMode 2种类型一个gridview我的gridview中的一行已被选为'Air',那么ContainerType如何被过滤,只有Air Pick Up和Courier Courier应该被填充到下沉列表中。

+0

winforms或asp.net。 –

+0

它是在asp.net中写的 – HOY

回答

1

基本上你需要做的是有3个数据源

  1. 一个网格视图
  2. 一个用于主下拉列表
  3. 和最后一个孩子下拉列表

一旦你创造的下拉菜单EditItemTemplate领域和你设置:

0123背后

代码:

protected void ddlContainerType_DataBound(object sender, EventArgs e) 
{ 
    var ddlContainerType = (DropDownList)sender; 
    ddlContainerType.Items.Insert(0, new ListItem("Make a Selection", String.Empty)); 
    ddlContainerType.SelectedIndex = 0; 

    GridViewRow gvr = (GridViewRow)ddlContainerType.NamingContainer; 
    if (gvr.DataItem != null) 
    { 
     string strModel = ((System.Data.DataRowView)gvr.DataItem)["ContainerType"].ToString(); 
     ddlContainerType.ClearSelection(); 

     var li = ddlContainerType.Items.FindByValue(strModel); 
     if (li != null) 
      li.Selected = true; 
    } 
} 

希望这有助于!