繁体   English   中英

组合框填充大都市城市位于顶部

[英]combo-box fill with the metropolitan cities at top

嗨,我试图填充城市数据库中的组合框,但是我要在选择菜单的顶部选择大城市,所以我已经使用了这种方法,还有其他选择吗?

对于地铁:

            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>

达到了目的,但由于硬编码和重复输入,因此似乎并不理想

从您的代码看来,所有城市都在一个表中。 我的建议是:添加一个新列可能是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填充下拉列表的数据源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM