C# WinForm中DataGridView自动匹配拼音简码问题
小弟想实现这样一个功能:
在DataGridView中某列cells中按键输入拼音时,同步自动打开(数据库中有预生成的拼音简码字段pyjm)匹配该输入拼音的下拉列表资料可供选择。
例如:输入“qd”,则下拉框中同步显示“QDPJ 青岛啤酒”,“QDCS 青岛纯生”,“QDSS 青岛山水”等
上述拼音简码和汉字是分两个字段存储的,大侠只要帮演示出匹配拼音简码字段的部分即可。
[解决办法]
按键触发事件时,向数据库用like 查询出匹配的绑定到下拉框。
如果数据不是挺多。
那就一次查出来。放在DataSet或DataTabel中在跟条件过滤掉。
[解决办法]
需要自己在数据库里做映射表,A映射B
如果输入A则B显示
[解决办法]
最简单的方法就是在keydown事件里查询数据库
[解决办法]
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进行筛选*/ }
[解决办法]
上面注释部分有点错误
/* 在这里面写你处理数据的代码;建议先把数据放到dataview中。然后再用dataview.RowFilter属性进行筛选*/