在显示表格数据的只读数据网格中,我想让(开箱即用的)功能在用户键入某些字符时跳转到一行。
说以下记录可用:
当用户键入“O”时,应选择ID为“Office supplies”的行。当用户在此之后键入“r”时,应选择“订单”行。
我的问题实际上是:这是否有开箱即用的解决方案,还是我必须创建自定义的东西?
答案 0 :(得分:1)
您几乎必须为搜索输入创建一个文本框,然后使用LINQ(或您喜欢的任何其他方式)过滤DataGrid绑定的集合,并将克隆生成的对象转换为另一个集合。最后,将DataGrid重新绑定到那些克隆对象并重新设置窗口的DataContext,以便DataGrid知道绑定更改。最后,实现检查,如果用户离开并清空文本框,则重新绑定到原始集合并再次重新设置DataContext。
希望这会有所帮助;)
答案 1 :(得分:1)
没有“开箱即用”的功能,你必须创建自己的。
我建议:
所以这并不复杂,但它需要一些编码,而且最重要的是,如果你有庞大的数据集,这可能会变成一场性能噩梦。