我有一个包含大量十六进制数据的网格控件,我希望能够使用提供的查找搜索栏来搜索表中的特定地址。但是,我不希望它过滤掉顶部图片中所示的所有数据。相反,我只想向下滚动到该值,而不进行任何过滤(底部图片)。我一直在使用 Grid Viewer 对象下的一些 OptionsFind 属性,但它们似乎都不适用于我当前的情况。有没有办法使用 DevExpress 查找栏来执行此操作,或者我是否需要使用不同的控件?如果是这样,如何实现这一点?谢谢!请发表评论以获取更多信息,我将编辑问题。
最佳答案
我对这个问题的解决方案如下。
- 禁用 OptionsFind 中的“查找”、“清除”和“关闭”按钮
- 为 GridView 对象创建以下 CustomRowFilter 事件处理程序。 (这可以通过每次尝试过滤时将 Handling 属性设置为 true 来防止表被过滤。)
创建一个自定义搜索按钮,该按钮在找到 FindFilterText 中包含的数据所在的行后更改当前聚焦的行。
private void gridViewDataViewer_CustomRowFilter(object sender, DevExpress.XtraGrid.Views.Base.RowFilterEventArgs e) { e.Handled = true; e.Visible = true; } private void searchButton_Click(object sender, EventArgs e) { int rowHandle = gridViewDataViewer.LocateByValue("Column Name", gridViewDataViewer.FindFilterText); gridViewDataViewer.FocusedRowHandle = gridViewDataViewer.GetVisibleRowHandle(rowHandle); }
关于c# - 如何使用 DevExpress 查找栏搜索但不过滤 GridView 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37330284/