DataTable.Select方法返回擷取所有DataRow對象的數組。Select()有四個重載方法.
| |
名稱 |
說明 |
|
Select () |
擷取所有 DataRow 對象的數組。 |
|
Select(String) |
按照主鍵順序(如果沒有主鍵,則按照添加順序)擷取與篩選條件相匹配的所有 DataRow 對象的數組。 |
|
Select(String, String) |
擷取按照指定的排序次序且與篩選條件相匹配的所有 DataRow 對象的數組。 |
|
Select(String, String, DataViewRowState) |
擷取與排序次序中的篩選器以及指定的狀態相匹配的所有 DataRow 對象的數組。 |
1.Select()樣本:
private
void GetRows()
{
// Get the DataTable of a DataSet.
DataTable table = DataSet1.Tables["Suppliers"];
DataRow[] rows = table.Select();
// Print the value one column of each DataRow.
for(int i = 0; i < rows.Length ; i++)
{
Console.WriteLine(rows[i]["CompanyName"]);
}
}
2.Select(string
filterExpression)樣本:
private
void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["Orders"];
// Presuming the DataTable has a column named Date.
string expression;
expression = "Date > #1/1/00#";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression);
// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
3.Select(string filterExpression,string sort)樣本:
private
void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["Orders"];
// Presuming the DataTable has a column named Date.
string expression =
"Date > '1/1/00'";
// Sort descending by column named CompanyName.
string sortOrder =
"CompanyName DESC";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression, sortOrder);
// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
4.Select(string filterExpression,string sort, DataViewRowState
recordStates)樣本:
private
static void GetRowsByFilter()
{
DataTable customerTable = new DataTable("Customers");
// Add columns
customerTable.Columns.Add("id", typeof(int));
customerTable.Columns.Add("name", typeof(string));
// Set PrimaryKey
customerTable.Columns[ "id" ].Unique =
true;
customerTable.PrimaryKey = new DataColumn[]
{ customerTable.Columns["id"] };
// Add ten rows
for(int id=1; id<=10; id++)
{
customerTable.Rows.Add(
new object[] { id,
string.Format("customer{0}", id) });
}
customerTable.AcceptChanges();
// Add another ten rows
for(int id=11; id<=20; id++)
{
customerTable.Rows.Add(
new object[] { id,
string.Format("customer{0}", id) });
}
string expression;
string sortOrder;
expression = "id > 5";
// Sort descending by column named CompanyName.
sortOrder = "name DESC";
// Use the Select method to find all rows matching the filter.
DataRow[] foundRows =
customerTable.Select(expression, sortOrder,
DataViewRowState.Added);
PrintRows(foundRows, "filtered rows");
foundRows = customerTable.Select();
PrintRows(foundRows, "all rows");
}
private
static void PrintRows(DataRow[] rows,
string label)
{
Console.WriteLine("/n{0}", label);
if(rows.Length <= 0)
{
Console.WriteLine("no rows found");
return;
}
foreach(DataRow row
in rows)
{
foreach(DataColumn column
in row.Table.Columns)
{
Console.Write("/table {0}", row[column]);
}
Console.WriteLine();
}
}