2011-03-23 57 views
0

您好尝试从城市数据库填充组合框,但我想在选择菜单顶部的大都会城市 我已经使用这种方法我有任何替代方案?组合框填充大都会城市顶部

对于地铁:

  List<Lst_City> lstCity= new List<Lst_City>(); 
      lstCity = new BFCommon().getCities(); 
      lstCity[0].CityID = 474; 
      lstCity[0].CityNM = "Mumbai"; 
      lstCity[1].CityID = 199; 
      lstCity[1].CityNM = "Delhi"; 
      lstCity[2].CityID = 165; 
      lstCity[2].CityNM = "Chennai"; 
      lstCity[3].CityID = 384; 
      lstCity[3].CityNM = "Kolkata"; 
      lstCity[4].CityID = 582; 
      lstCity[4].CityNM = "Pune"; 
      lstCity[5].CityID = 71; 
      lstCity[5].CityNM = "Bangalore"; 
      lstCity[6].CityID = 306; 
      lstCity[6].CityNM = "Hyderabad"; 
      lstCity[7].CityID = 11; 
      lstCity[7].CityNM = "Ahmedabad"; 

下拉结合:

ddCities.DataSource = lstCity; 
ddCities.DataTextField = "CityNM"; 
ddCities.DataValueField = "CityID"; 
ddCities.DataBind(); 
ddCities.Items.Insert(0, new ListItem("Select One", string.Empty)); 

查询:

public List<Lst_City> getCities() 
     { 
      List<Lst_City> temp = (from e in objCommonDataContext.Lst_Cities 
             where e.inUse == true 
             select e).ToList(); 

      return temp; 

     } 

和设计师组合框中

<div class="row"> 
    <label> 
    City :</label> 
    <ajaxToolkit:ComboBox ID="ddCities" runat="server" AutoPostBack="False" 
    DropDownStyle="DropDownList" 
    AutoCompleteMode="SuggestAppend" 
    CaseSensitive="False" 
    CssClass="" 
    ItemInsertLocation="Append" Width="380px"></ajaxToolkit:ComboBox> 

上午达到目的,但它似乎并不理想,因为硬编码和条目重复

回答

0

从您的代码看来,所有的城市都在一个表中。 我的建议是: 添加新列可能是IsMetropolital

List<Lst_City> temp = (from e in objCommonDataContext.Lst_Cities 
             where e.inUse == true && e.IsMetropolital==false 
             select e).ToList(); 

List<Lst_MetroCity> tempMetro = (from e in objCommonDataContext.Lst_Cities 
             where e.inUse == true && e.IsMetropolital=true 
             select e).ToList(); 

List<Lst_City> lstCity= new List<Lst_City>(); 


foreach(var t in tempMetro) 
{ 
    // Add cities to the lstCity 
} 

foreach(var t in temp) 
{ 
    // Add cities to the lstCity 
} 

现在终于填充设定lstCity下拉的数据源,你已经做了。

+0

除此之外,还有什么我们可以做的,因为我不想改变表格,因为影响会很大 – abhijit 2011-03-23 09:50:23