C# WinForm中DataGridView自动匹配拼音简码问题

岁岁年年 2009-11-03 04:39:30
小弟想实现这样一个功能:
在DataGridView中某列cells中按键输入拼音时,同步自动打开(数据库中有预生成的拼音简码字段pyjm)匹配该输入拼音的下拉列表资料可供选择。
例如:输入“qd”,则下拉框中同步显示“QDPJ 青岛啤酒”,“QDCS 青岛纯生”,“QDSS 青岛山水”等
上述拼音简码和汉字是分两个字段存储的,大侠只要帮演示出匹配拼音简码字段的部分即可。
...全文
497 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
青天流雲 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
帮顶
like 全字匹配? 如果关键字很多的话 效率不成问题了吗?
[/Quote]

匹配查询本身就很费时
疯灬疯 2012-04-12
  • 打赏
  • 举报
回复
帮顶
like 全字匹配? 如果关键字很多的话 效率不成问题了吗?
yanglinqiang 2009-11-04
  • 打赏
  • 举报
回复
上面注释部分有点错误

/* 在这里面写你处理数据的代码;建议先把数据放到dataview中。然后再用dataview.RowFilter属性进行筛选*/
yanglinqiang 2009-11-04
  • 打赏
  • 举报
回复
datagridview是没有单元格的keydown事件的,所以要添加一些代码拉处理:

private DataGridViewTextBoxEditingControl fff;

private void rowMergeView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
fff = (DataGridViewTextBoxEditingControl)e.Control;
fff.KeyDown+=new KeyEventHandler(fff_KeyDown);
}
private void fff_KeyDown(object sender, KeyEventArgs e)
{
/*在这里面写你处理数据的代码;建议先把数据放到dataview中。然后再用dataview。dataview进行筛选*/
}
sxmonsy 2009-11-04
  • 打赏
  • 举报
回复
最简单的方法就是在keydown事件里查询数据库
freeboy827 2009-11-04
  • 打赏
  • 举报
回复
帮顶,
期待高手
梦里开天 2009-11-03
  • 打赏
  • 举报
回复
需要自己在数据库里做映射表,A映射B
如果输入A则B显示
cc_net 2009-11-03
  • 打赏
  • 举报
回复
检索出来like就可以了,你的cell是一个comboboxCell,输入的时候自动检索,然后绑定。
主要是每次输入都查询数据库代价比较大
修改一下昵称 2009-11-03
  • 打赏
  • 举报
回复
按键触发事件时,向数据库用like 查询出匹配的绑定到下拉框。

如果数据不是挺多。
那就一次查出来。放在DataSet或DataTabel中在跟条件过滤掉。
rodgerluo 2009-11-03
  • 打赏
  • 举报
回复
简单的你可以用数据库的模糊查询
但效率很低
建立你去看看json
或者你可以先去看看搜狗拼音输入法
会对你有帮助的1!!
岁岁年年 2009-11-03
  • 打赏
  • 举报
回复
我看见论坛中有类似的问题了,但是还是没看懂,估计这个问题想知道的人也多,请明白的大哥大姐不吝赐教!

111,119

社区成员

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

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

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