我想要的效果:
表结构如下:
城市或省id, 城市省名称 城市省拼音 parentID
我的部分代码如下:
private void BindLB_City(string procinceID)
{
//绑定市
if (!string.IsNullOrEmpty(procinceID))
{
string sql = string.Format("select * from 省市表 where parentId<>0 and parentId={0} ", procinceID);
IList<Ct_provinceCity> citylist = Ct_provinceCityBll.GetCt_provinceCitiesBysqlstr(sql);
if (citylist != null)
{
lb_city.DataTextField = "省市名称";
lb_city.DataValueField = "省市id";
lb_city.DataSource = citylist;
lb_city.DataBind();
}
}
}
private void BindLB_Province()
{
//绑定省份
string sql = "select * from 省市表 where parentId=0 order by ordernum,areaId";
IList<Ct_provinceCity> province;
if (Cache["province"] == null)
{
province = Ct_provinceCityBll.GetCt_provinceCitiesBysqlstr(sql);
Cache["province"] = province;
}
else
{
province = (IList<Ct_provinceCity>)Cache["province"];
}
if (province.Count > 0)
{
lb_province.DataTextField = "省市名称";
lb_province.DataValueField = "省市id";
lb_province.DataSource = province;
lb_province.DataBind();
}
}
我的运行结果如下:
问题:如何才能得到我想要的效果呢?就是说listbox如何绑定两项(拼音 名称)显示?
写个用户控件在一个label里面显示拼音和汉字然后分别添加到listbox里面去撒。呵,我经常这么做的。
这个你只能是进行字符串的拼接啦,直接DataSource除非你的那个实体类中相关字段绑定的是 "pinyin 城市"这样子的项,否则的话你可以循环添加
可以用一列来解决。看微软的解决方案
Simplified Chinese Pin-Yin Conversion Library - 支持获取简体中文字符的常用属性比如拼音,多音字,同音字,笔画数。
http://www.cnblogs.com/downmoon/archive/2009/04/23/1442144.html
有个很简单的方法就是将表变成对应的类,然后重写类的ToString()方法,这样就可以得到你想要的了