There is a Execllent way of searching the UItraWinGrid columns which is given in the Followings Knowledege base article
http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.aspx?ArticleID=8077
but is it possible to use a textbox on the form, type in the textbox and get the columns data from which ever column selected.
Here For Example i have entered value in textbox it should select the respective row and highlight it and make it the first row of the Grid,OR is there any feature of UltraWinGrid in which i can bind other control like textbox and Search the UltrawinGrid cells
Hi,
There are a couple of ways you could do this.
One way would be to modify the code in the KB Article. The article uses a buffer to keep track of the string as you type it, but you could just as easily pass in a string from a TextBox in the TextChanged event.
The code that search the grid is really not complicated at all, it just loops through the cells to find one that matches the text you want.
Another option might be to use RowFiltering. By default, the filtering funtionality hides the rows that are filtered out, but it doesn't have to. The RowFilterAction property on the Override object gives you the ability to apply an appearance to the row instead of hiding them. You would then use the FilteredInRowAppearance to decide what the rows that meet the filter criteria look like.
This won't scroll the row in to view, though - it can't since there can theoretically be more than one row.
I have not used the class file instead have done this as u suggested
Private Sub txtSearch_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
Dim fldCol, tblname As String fldCol = "VstDestination"tblname = "visit"
If txtSearch.Text = "" Then 'Test if the textbox is null, then reset the grid. Me.VisitTableAdapter.Fill(Me.DataSet2.Visit) Else 'Dim dtview As DataViewdtview = New DataView(DataSet2.Tables(tblname)) dtview.RowFilter = fldCol & " like '" & txtSearch.Text & "*'"UltraGrid1.DataSource = dtview End If End Sub
''incase any one needs this in future, happy to help !!!
What you are doing here is not searching, it's filtering.
This will work, but there are a few down sides to this approach. For one thing, setting the DataSource on the grid every time you type into a text box is going to be very performance-intensive. The grid is going to be constantly building and rebuilding all of the rows and columns.
Another disadvantage to this approach is that you will lose your layout and all state information in the grid every time. So you will lose the column order, selected rows, the expanded state of the row, sorting, etc.
If you just want to filter the data in the grid, you would be much better off using the grid's built-in FilterRow of just taking the value from the TextBox and applying a ColumnFilter.
Thankx mike for ur response....... i belive that u r the best
u r Appsolutely right so wht i done now is that i am taking a sorted column first and takeing it into
Dim
x As UltraGridColumn and passing it thru dataview which i have created and doing the dataview.rowfilter and searching the ultragridcolumn.header.caption name and i think this is good it has worked for me but will this cause any other drawback
I'm not sure I understand this new approach or how it differs from the old approach. It seems to me that it would be a lot easier for you to just filter the grid, rather than trying to filter the data source.