一个类似于火车站城市检索的问题

yzhxhwt 2007-10-19 11:27:51
一个combox,里面用了TextChanged事件,具体功能是这样的,比如输入n,出来南京,南宁,也就是拼音检索,有关n开头的都出来,输入s,出来上海之类的,我的代码实现如下:
private void cmbName_TextChanged(object sender, EventArgs e)
{

SqlConnection conn;
SqlDataReader sdr;
char pun = '%';

SqlCommand cmd;
string strConnectionString = "server=.;uid=sa;pwd=sa;database=DB";
conn = new SqlConnection(strConnectionString);
conn.Open();
cmd = conn.CreateCommand();
string strKeyWords = cmbName.Text;
string strResult = cmd.CommandText = "select AreaName from Area where AreaSpellCHS like '" +strKeyWords + pun + "'";
sdr = cmd.ExecuteReader();
while (sdr.Read())
{
cmbName.Items.AddRange(new object[] { sdr["AreaName"] });
}

sdr.Close();
//cmbName.Items.Clear();
}

这样已经把功能实现了,现在有两个小问题,第一个是我输入n以后,出来南京,南宁,然后我把n删了,重输入一个s,就出来上海,当时南京和南宁也在下面,就是三个都有了,在输入s,又出来江苏,上海,南京,南宁,我要的效果是如果输入j,就出来江苏,输入n,就出来南京和南宁,就类似于webform上的autopostback要设成true,要刷新一下,我是这么理解的,不能有刚才查过的记录在里面,请大家帮忙.
第二个问题是我输入n以后,要点旁边向下的箭头才能有南京和南宁来,有没有办法一输入n,那个下拉的菜单就自动打开?可能有这个属性吧,我没找到,呵呵,大家帮帮忙,谢谢了!
...全文
449 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
酋长 2007-10-20
  • 打赏
  • 举报
回复
重新输入的时候,将原来缓存中的内容清除就可以了。

yzhxhwt 2007-10-19
  • 打赏
  • 举报
回复
说说具体代码实现方法.

110,580

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧