use the Find() and FindRows() methods of a DataView to find DataRowView objects

image_pdfimage_print

using System;
using System.Data;
using System.Data.SqlClient;

class FindingDataRowViews {
public static void Main() {
SqlConnection mySqlConnection =
new SqlConnection(
“server=localhost;database=Northwind;uid=sa;pwd=sa”
);
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText =
“SELECT CustomerID, CompanyName, Country ” +
“FROM Customers”;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
mySqlDataAdapter.SelectCommand = mySqlCommand;
DataSet myDataSet = new DataSet();
mySqlConnection.Open();
mySqlDataAdapter.Fill(myDataSet, “Customers”);
mySqlConnection.Close();
DataTable customersDT = myDataSet.Tables[“Customers”];

string filterExpression = “Country = 'UK'”;
string sortExpression = “CustomerID”;
DataViewRowState rowStateFilter = DataViewRowState.OriginalRows;

DataView customersDV = new DataView();
customersDV.Table = customersDT;
customersDV.RowFilter = filterExpression;
customersDV.Sort = sortExpression;
customersDV.RowStateFilter = rowStateFilter;

foreach (DataRowView myDataRowView in customersDV) {
for (int count = 0; count < customersDV.Table.Columns.Count; count++) { Console.WriteLine(myDataRowView[count]); } Console.WriteLine(""); } int index = customersDV.Find("BSBEV"); Console.WriteLine("BSBEV found at index " + index + " "); DataRowView[] customersDRVs = customersDV.FindRows("BSBEV"); foreach (DataRowView myDataRowView in customersDRVs) { for (int count = 0; count < customersDV.Table.Columns.Count; count++) { Console.WriteLine(myDataRowView[count]); } Console.WriteLine(""); } } } [/csharp]