ColumnView.LocateByDisplayText(Int32, GridColumn, String) Method
Locates rows by cells’ display texts.
Namespace: DevExpress.XtraGrid.Views.Base
Assembly: DevExpress.XtraGrid.v24.1.dll
NuGet Packages: DevExpress.Win.Grid, DevExpress.Win.Navigation
Declaration
public virtual int LocateByDisplayText(
int startRowHandle,
GridColumn column,
string text
)
Parameters
Name | Type | Description |
---|---|---|
startRowHandle | Int32 | An integer value specifying the handle of the row where the search starts. |
column | GridColumn | A GridColumn object (or descendant) specifying the column whose cells’ display texts are compared to the search text. |
text | String | A string to search for. |
Returns
Type | Description |
---|---|
Int32 | An integer value specifying the handle of the row found. If no matching row found, the GridControl.InvalidRowHandle field value is returned instead. |
Remarks
Note: the LocateByDisplayText method is case-sensitive.
Note
In Instant Feedback Mode, this LocateByDisplayText method has limitations. It returns a correct value only if the target row has been loaded. Otherwise, it returns an invalid row handle (GridControl.InvalidRowHandle). See ColumnView.IsRowLoaded to learn whether a row has been loaded or not.
Note
Detail pattern Views do not contain data and they are never displayed within XtraGrid. So, the LocateByDisplayText member must not be invoked for these Views. The LocateByDisplayText member can only be used with Views that display real data within the Grid Control. Use the following methods to access these Views with which an end user interacts at runtime.
- GridControl.MainView - returns the top most View in a grid;
- GridControl.FocusedView - returns the focused View;
- GridControl.DefaultView - returns the currently maximized View;
- the sender parameter of View specific events;
- GridView.GetDetailView - returns a detail clone View for a specific master row.
Example
The following code shows how to select rows that contain “Mexico” in the Country column and copy data from these rows.
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Base;
ColumnView view = gridControl1.MainView as ColumnView;
GridColumn colCountry = view.Columns["Country"];
GridColumn colCompany = view.Columns["CompanyName"];
if (colCountry == null || colCompany == null) return;
// Enable multiple row selection mode.
view.OptionsSelection.MultiSelect = true;
view.ClearSelection();
int rowHandle = -1;
// Select rows that contain 'Mexico' in the Country column.
while (rowHandle != GridControl.InvalidRowHandle) {
rowHandle = view.LocateByDisplayText(rowHandle + 1, colCountry, "Mexico");
view.SelectRow(rowHandle);
}
int[] selectedRowHandles = view.GetSelectedRows();
if (selectedRowHandles.Length > 0) {
// Move focus to the first selected row.
view.FocusedRowHandle = selectedRowHandles[0];
// Copy the selection to the clipboard
view.CopyToClipboard();
// Copy the selected company names to a Memo editor.
memoEdit1.Text = "";
for (int i = 0; i < selectedRowHandles.Length; i++)
memoEdit1.Text += view.GetRowCellDisplayText(selectedRowHandles[i], colCompany) + "\r\n";
}