I am running the following code to apply a filter to a GDBG grid, but the grid does not update to show the filtered rows. The filter is not applied. Can you tell me what else I have to do?
DataView dv = ((DataSet)grid.DataSource).Tables[grid.DataMember].DefaultView;
dv.RowFilter = "[col1] = 20.000";
Also, if a user only highlights a portion of the text in the cell, how do I access the highlighted portion?
ADAdministrator Syncfusion Team August 12, 2005 11:20 AM
You just cannot filter any DataView, you must filter the one being used by the CurrencyManager associated with the grid and the datasource. Additionally, after the grid.EndUpdate call, you may need a grid.refresh call.
To get the dataview, try this code:
CurrencyManager cm = grid.BindingContext[grid.DataSource, grid.DataMember] as CurrencyManager;
DataView dv = cm.List as DataView;
To get the selected text in an actively editing textbox cell, you can use code like:
GridTextBoxCellRenderer cr = grid.CurrentCell.Renderer as GridTextBoxCellRenderer;
string s = cr.TextBox.SelectedText;