国内省市关联选择功能的实现-优化
来源:互联网 发布:刘雯的地位 知乎 编辑:程序博客网 时间:2024/05/20 02:51
刚才完成了省市选择的优化,但是有一个问题就是,我在更具所选省查找城市的时候用的是comboBox1.SelectedIndex+1当作省份的ID但是这样如果省份的ID不是连续的或者不思顺序的,那么就很难准确定位到具体是哪一个省,刚才看视频又有个新方法,就是在定义一个类,用来存放数据库查询到的省份。然后再添加comboBox的时候直接添加类对象,但是这样又有一个问题就是显示的时候不是显示的省份名而是显示"类.对象",那么就需要重写次类的ToString()方法让其显示省份名字。然后再用户确定省份后就可以定位到具体的某个对象,即具体某个省的信息,然后获得省份ID进行相关查询。
具体实现代码如下:
=======省份类
class ProvinceItems
{
public int proID { get; set; }
public string proName { get; set; }
public override string ToString()
{
return proName;
//return base.ToString();//这是默认显示的数据
}
}
=======省comboBox1
private void comboBox1_Enter(object sender, EventArgs e)
{
using (SqlConnection sqlconn = this.DBConn("Remote"))
{
using (SqlCommand sqlcmd = sqlconn.CreateCommand())
{
comboBox1.Items.Clear();
sqlcmd.CommandText = "select proID,proName from Province";
SqlDataReader sdr = sqlcmd.ExecuteReader();
while (sdr.Read())
{
ProvinceItems proitem = new ProvinceItems();
proitem.proID = sdr.GetInt32(sdr.GetOrdinal("proID"));
proitem.proName = sdr.GetString(sdr.GetOrdinal("proName"));
//向comboBox1.Items增加一个ProvinceItems类型数据。
//如果要显示此类型的某些项可以在comboBox属性的DisplayMember中设置
//或者重写ToString()方法;
comboBox1.Items.Add(proitem);
//不能直接加proitem.proName;为后面得到proitem.proID做准备
//comboBox1.Items.Add(sdr.GetInt32(sdr.GetOrdinal("proID")) + "、" + sdr.GetString(sdr.GetOrdinal("proName")));
}
}
}
}
=======对市comboBox2的处理
private void SelectedChanged(object sender, EventArgs e)
{
using (SqlConnection sqlconn = this.DBConn("Remote"))
{
using (SqlCommand sqlcmd = sqlconn.CreateCommand())
{
//****************************
//将object类型强转为ProvinceItems与前面comboBox1.Items.Add(proitem);将ProvinceItems添加到object类型相一致
ProvinceItems proitem = (ProvinceItems)comboBox1.SelectedItem;
sqlcmd.CommandText = "select cityID,cityName from city where proID=@proID ORDER BY cityID";
sqlcmd.Parameters.Add(new SqlParameter("proID",proitem.proID));
SqlDataReader sdr = sqlcmd.ExecuteReader();
comboBox2.Items.Clear();
while (sdr.Read())
{
comboBox2.Items.Add(sdr.GetInt32(sdr.GetOrdinal("cityID")) + "、" + sdr.GetString(sdr.GetOrdinal("cityName")));
}
comboBox2.Text = comboBox2.Items[0].ToString();
sqlcmd.Parameters.Clear();
}
}
}
=======数据库的连接
public SqlConnection DBConn(string RemoteORLocal)
{
if (RemoteORLocal.Equals("Remote"))
{
SqlConnection sqlconn = new SqlConnection(@"Server=218.198.33.210/;Integrated Security=false;DataBase=DB_Zyyy;User ID=YangShuang;Password=123456;pooling=false");
sqlconn.Open();
return sqlconn;
}
else
{
SqlConnection sqlconn = new SqlConnection(@"Data Source=./SQLEXPRESS;AttachDbFilename=D:/MSCodes/ASP.NET/UserManager/ToTesting/MyTestDB.mdf;Integrated Security=True;User Instance=True");
sqlconn.Open();
return sqlconn;
}
}
- 国内省市关联选择功能的实现-优化
- 国内省市关联选择功能的实现
- Swift - 省市县三级联动功能的实现(使用UIPickerView选择框)
- 利用JS进行省市选择的实现
- 省市关联的下拉
- 类似省市联动的查询功能实现
- .NET 应用webservices的实现全国各地省市县的选择....
- [js]实现简单的省市二级联动下拉选择菜单
- 基于wheel的省市县,界面实现优化
- 回车实现Tab跳转 金额文本框 省市联动选择 歌曲选择的实现
- 省市联动的实现
- 创建关联的UIPickerView 显示省市
- ado.net实现省市选择框
- poi 实现下拉框级联选择省市
- js实现省市选择二级联动
- 实现二级列表双listview省市选择
- 利用ajax实现省市县级联选择
- 省市选择
- 你们在说一句话/
- SAP-BW数据抽取初始化的问题
- 运算符
- 关于java描述
- Win7自己不黑屏了
- 国内省市关联选择功能的实现-优化
- JavaScript里面的正则表达式
- Bash awk 基本入门
- jquery之利用ajax与服务器交谈(发起GET和POST请求之获取JSON数据)
- ASP错误代码总结
- LiMU:漫谈在线学习:在线梯度下降
- 原创 全城公交标注系统 (2)
- Eclipse+Tomcat 开发Java EE项目
- keyPressEvent,QWS_KEYBOARD,QWS_MOUSE_PROTO,嵌入式qt同时支持键盘和触摸屏