DataTable.CaseSensitive Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica si las comparaciones de cadenas en la tabla distinguen entre mayúsculas y minúsculas.
public:
property bool CaseSensitive { bool get(); void set(bool value); };
public bool CaseSensitive { get; set; }
[System.Data.DataSysDescription("DataTableCaseSensitiveDescr")]
public bool CaseSensitive { get; set; }
member this.CaseSensitive : bool with get, set
[<System.Data.DataSysDescription("DataTableCaseSensitiveDescr")>]
member this.CaseSensitive : bool with get, set
Public Property CaseSensitive As Boolean
Valor de propiedad
true
si la comparación distingue entre mayúsculas y minúsculas; de lo contrario, false
. El valor predeterminado se establece en la propiedad DataSet del objeto CaseSensitive primario, o bien en false
si DataTable se ha creado independientemente de DataSet.
- Atributos
Ejemplos
En el ejemplo siguiente se llama al Select método dos veces en .DataTable La primera vez, la CaseSensitive propiedad se establece en false
, la segunda, en true
.
private static void ToggleCaseSensitive()
{
DataTable t;
DataRow[] foundRows;
t = CreateDataSet().Tables[0];
t.CaseSensitive = false;
foundRows = t.Select("item = 'abc'");
// Print out DataRow values.
PrintRowValues(foundRows, "CaseSensitive = False");
t.CaseSensitive = true;
foundRows = t.Select("item = 'abc'");
PrintRowValues(foundRows, "CaseSensitive = True");
}
public static DataSet CreateDataSet()
{
// Create a DataSet with one table, two columns
DataSet ds = new DataSet();
DataTable t = new DataTable("Items");
// Add table to dataset
ds.Tables.Add(t);
// Add two columns
DataColumn c;
// First column
c = t.Columns.Add("id", typeof(int));
c.AutoIncrement = true;
// Second column
t.Columns.Add("item", typeof(string));
// Set primary key
t.PrimaryKey = new DataColumn[] { t.Columns["id"] };
// Add twelve rows
for (int i = 0; i < 10; i++)
{
t.Rows.Add(new object[] { i, i.ToString() });
}
t.Rows.Add(new object[] { 11, "abc" });
t.Rows.Add(new object[] { 15, "ABC" });
return ds;
}
private static void PrintRowValues(DataRow[] rows, string label)
{
Console.WriteLine();
Console.WriteLine(label);
if (rows.Length <= 0)
{
Console.WriteLine("no rows found");
return;
}
foreach (DataRow r in rows)
{
foreach (DataColumn c in r.Table.Columns)
{
Console.Write("\t {0}", r[c]);
}
Console.WriteLine();
}
}
Private Sub ToggleCaseSensitive()
Dim t As DataTable
Dim foundRows() As DataRow
t = CreateDataSet().Tables(0)
t.CaseSensitive = False
foundRows = t.Select("item = 'abc'")
' Print out DataRow values. Row 0 contains the value we're looking for.
PrintRowValues(foundRows, "CaseSensitive = False")
t.CaseSensitive = True
foundRows = t.Select("item = 'abc'")
PrintRowValues(foundRows, "CaseSensitive = True")
End Sub
Public Function CreateDataSet() As DataSet
' Create a DataSet with one table, two columns
Dim ds As New DataSet
Dim t As New DataTable("Items")
' Add table to DataSet
ds.Tables.Add(t)
' Add two columns
Dim c As DataColumn
' First column
c = t.Columns.Add("id", Type.GetType("System.Int32"))
c.AutoIncrement = True
' Second column
t.Columns.Add("item", Type.GetType("System.String"))
' Set primary key
t.PrimaryKey = New DataColumn() {t.Columns("id")}
For i As Integer = 0 To 9
t.Rows.Add(New Object() {i, i.ToString()})
Next
t.Rows.Add(New Object() {11, "abc"})
t.Rows.Add(New Object() {15, "ABC"})
CreateDataSet = ds
End Function
Private Sub PrintRowValues(ByRef rows As DataRow(), ByVal label As String)
Console.WriteLine()
Console.WriteLine(label)
If rows.Length <= 0 Then
Console.WriteLine("no rows found")
Return
End If
For Each r As DataRow In rows
For Each c As DataColumn In r.Table.Columns
Console.Write(vbTab & " {0}", r(c))
Next
Console.WriteLine()
Next
End Sub
Comentarios
La CaseSensitive propiedad afecta a las comparaciones de cadenas en la ordenación, la búsqueda y el filtrado.