DataRow.Item[] Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví data uložená v zadaném sloupci.
Přetížení
Item[DataColumn] |
Získá nebo nastaví data uložená v zadaném DataColumnobjektu . |
Item[Int32] |
Získá nebo nastaví data uložená ve sloupci určeném indexem. |
Item[String] |
Získá nebo nastaví data uložená ve sloupci určeném názvem. |
Item[DataColumn, DataRowVersion] |
Získá zadanou verzi dat uloženou v zadaném DataColumn. |
Item[Int32, DataRowVersion] |
Získá data uložená ve sloupci určené indexem a verzí dat k načtení. |
Item[String, DataRowVersion] |
Získá zadanou verzi dat uloženou v pojmenovaném sloupci. |
Item[DataColumn]
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
Získá nebo nastaví data uložená v zadaném DataColumnobjektu .
public:
property System::Object ^ default[System::Data::DataColumn ^] { System::Object ^ get(System::Data::DataColumn ^ column); void set(System::Data::DataColumn ^ column, System::Object ^ value); };
public object this[System.Data.DataColumn column] { get; set; }
member this.Item(System.Data.DataColumn) : obj with get, set
Default Public Property Item(column As DataColumn) As Object
Parametry
- column
- DataColumn
A DataColumn , který obsahuje data.
Hodnota vlastnosti
Obsahující Object data.
Výjimky
Sloupec nepatří do této tabulky.
Hodnota column
je null.
Došlo k pokusu o nastavení hodnoty odstraněného řádku.
Datové typy hodnoty a sloupce se neshodují.
Příklady
Následující příklady ukazují použití Item[] vlastnosti k získání a nastavení hodnoty konkrétního indexu sloupce. První příklad získá hodnotu prvního sloupce v libovolném řádku, na který uživatel klikne v ovládacím DataGrid prvku. Druhý nastaví hodnotu předanou jako argument metodě .
Private Sub DataGrid1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
Dim dataGridTable As DataTable = _
CType(DataGrid1.DataSource, DataTable)
' Set the current row using the RowNumber
' property of the CurrentCell.
Dim currentRow As DataRow = _
dataGridTable.Rows(DataGrid1.CurrentCell.RowNumber)
Dim column As DataColumn = dataGridTable.Columns(1)
' Get the value of the column 1 in the DataTable.
label1.Text = currentRow(column).ToString()
End Sub
Private Sub SetDataRowValue( _
ByVal grid As DataGrid, ByVal newVal As Object)
' Set the value of a column in the last row of a DataGrid.
Dim table As DataTable = CType(grid.DataSource, DataTable)
Dim row As DataRow = table.Rows(table.Rows.Count - 1)
Dim column As DataColumn = table.Columns("FirstName")
row(column)= newVal
End Sub
Poznámky
Při nastavení vlastnosti se vygeneruje výjimka, pokud v události dojde k výjimce ColumnChanging .
Pokud se jedná o okamžitou úpravu, podívejte se EndEdit na výjimky, které lze vygenerovat.
Platí pro
Item[Int32]
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
Získá nebo nastaví data uložená ve sloupci určeném indexem.
public:
property System::Object ^ default[int] { System::Object ^ get(int columnIndex); void set(int columnIndex, System::Object ^ value); };
public object this[int columnIndex] { get; set; }
member this.Item(int) : obj with get, set
Default Public Property Item(columnIndex As Integer) As Object
Parametry
- columnIndex
- Int32
Index sloupce počítaný od nuly
Hodnota vlastnosti
Obsahující Object data.
Výjimky
Vyvolá se při pokusu o nastavení hodnoty na odstraněný řádek.
Argument columnIndex
je mimo rozsah.
Příklady
Následující příklady ukazují použití Item[] vlastnosti k získání a nastavení hodnoty konkrétního indexu sloupce. První příklad získá hodnotu prvního sloupce v libovolném řádku, na který uživatel klikne v ovládacím DataGrid prvku.
private void DataGrid1_Click(object sender,
System.EventArgs e)
{
// Get the DataTable the grid is bound to.
DataGrid thisGrid = (DataGrid) sender;
DataTable table = (DataTable) thisGrid.DataSource;
DataRow currentRow =
table.Rows[thisGrid.CurrentCell.RowNumber];
// Get the value of the column 1 in the DataTable.
Console.WriteLine(currentRow[1]);
// You can also use the name of the column:
// Console.WriteLine(currentRow["FirstName"])
}
private void SetDataRowValue(DataGrid grid, object newValue)
{
// Set the value of the last column in the last row of a DataGrid.
DataTable table;
table = (DataTable) grid.DataSource;
DataRow row;
// Get last row
row = (DataRow)table.Rows[table.Rows.Count-1];
// Set value of last column
row[table.Columns.Count-1] = newValue;
}
Private Sub DataGrid1_Click _
(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Get the DataTable the grid is bound to.
Dim thisGrid As DataGrid = CType(sender, DataGrid)
Dim table As DataTable = CType(thisGrid.DataSource, DataTable)
Dim currentRow As DataRow = _
table.Rows(thisGrid.CurrentCell.RowNumber)
' Get the value of the column 1 in the DataTable.
Console.WriteLine(currentRow(1))
' You can also use the name of the column:
' Console.WriteLine(currentRow("FirstName"))
End Sub
Private Sub SetDataRowValue( _
ByVal grid As DataGrid, ByVal newValue As Object)
' Set the value of the last column in the last row of a DataGrid.
Dim table As DataTable
table = CType(grid.DataSource, DataTable)
Dim row As DataRow
row = table.Rows(table.Rows.Count-1)
row(table.Columns.Count-1) = newValue
End Sub
Poznámky
Při nastavení vlastnosti se vygeneruje výjimka, pokud v události dojde k výjimce ColumnChanging .
Pokud se jedná o úpravy, podívejte EndEdit se na výjimky, které se dají vygenerovat.
Platí pro
Item[String]
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
Získá nebo nastaví data uložená ve sloupci určeném názvem.
public:
property System::Object ^ default[System::String ^] { System::Object ^ get(System::String ^ columnName); void set(System::String ^ columnName, System::Object ^ value); };
public object this[string columnName] { get; set; }
member this.Item(string) : obj with get, set
Default Public Property Item(columnName As String) As Object
Parametry
- columnName
- String
Název sloupce
Hodnota vlastnosti
Obsahující Object data.
Výjimky
Sloupec určený parametrem columnName
nebyl nalezen.
Vyvolá se při pokusu o nastavení hodnoty na odstraněný řádek.
Vyvolá se při pokusu o vložení hodnoty null do sloupce, kde AllowDBNull je nastavena na false
hodnotu .
Příklady
Následující příklady ukazují použití Item[] vlastnosti k získání a nastavení hodnoty konkrétního indexu sloupce. První příklad získá hodnotu prvního sloupce v libovolném řádku, na který uživatel klikne v ovládacím DataGrid prvku. Druhý nastaví hodnotu předanou jako argument metodě .
private void DataGrid1_Click(
object sender, System.EventArgs e)
{
// Get the DataTable the grid is bound to.
DataGrid thisGrid = (DataGrid) sender;
DataTable table = (DataTable) thisGrid.DataSource;
DataRow currentRow =
table.Rows[thisGrid.CurrentCell.RowNumber];
// Get the value of the column 1 in the DataTable.
Console.WriteLine(currentRow["FirstName"]);
// You can also use the index:
// Console.WriteLine(currentRow[1]);
}
private void SetDataRowValue(
DataGrid grid, object newValue)
{
// Set the value of the first column in
// the last row of a DataGrid.
DataTable table = (DataTable) grid.DataSource;
DataRow row = table.Rows[table.Rows.Count-1];
row["FirstName"] = newValue;
}
Private Sub DataGrid1_Click( _
sender As Object, e As System.EventArgs)
' Get the DataTable the grid is bound to.
Dim thisGrid As DataGrid = CType(sender, DataGrid)
Dim table As DataTable = _
CType(thisGrid.DataSource, DataTable)
Dim currentRow As DataRow = _
table.Rows(thisGrid.CurrentCell.RowNumber)
' Get the value of the column 1 in the DataTable.
Console.WriteLine(currentRow("FirstName"))
' You can also use the index:
' Console.WriteLine(currentRow(1).ToString())
End Sub
Private Sub SetDataRowValue( _
grid As DataGrid, newValue As Object)
' Set the value of the first column in
' the last row of a DataGrid.
Dim table As DataTable = _
CType(grid.DataSource, DataTable)
Dim row As DataRow
row = table.Rows((table.Rows.Count - 1))
row("FirstName") = newValue
End Sub
Poznámky
Při nastavení vlastnosti se vygeneruje výjimka, pokud v události dojde k výjimce ColumnChanging .
Pokud se jedná o okamžitou úpravu, podívejte se EndEdit na výjimky, které lze vygenerovat.
Platí pro
Item[DataColumn, DataRowVersion]
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
Získá zadanou verzi dat uloženou v zadaném DataColumn.
public:
property System::Object ^ default[System::Data::DataColumn ^, System::Data::DataRowVersion] { System::Object ^ get(System::Data::DataColumn ^ column, System::Data::DataRowVersion version); };
public object this[System.Data.DataColumn column, System.Data.DataRowVersion version] { get; }
member this.Item(System.Data.DataColumn * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(column As DataColumn, version As DataRowVersion) As Object
Parametry
- column
- DataColumn
A DataColumn , který obsahuje informace o sloupci.
- version
- DataRowVersion
Jedna z DataRowVersion hodnot, která určuje požadovanou verzi řádku. Možné hodnoty jsou Default
, Original
, Current
a Proposed
.
Hodnota vlastnosti
Obsahující Object data.
Výjimky
Sloupec nepatří do tabulky.
Argument column
obsahuje hodnotu null.
Řádek nemá tuto verzi dat.
Příklady
Následující příklad získá aktuální hodnotu klepnutou buňku v ovládacím DataGrid prvku.
private void DataGrid1_Click(object sender,
System.EventArgs e)
{
DataTable dataGridTable =
(DataTable)DataGrid1.DataSource;
// Set the current row using the RowNumber
// property of the CurrentCell.
DataRow currentRow = dataGridTable.Rows[DataGrid1.CurrentCell.RowNumber];
DataColumn column = dataGridTable.Columns[1];
// Get the value of the column 1 in the DataTable.
Console.WriteLine(currentRow[column, DataRowVersion.Current]);
}
Private Sub DataGrid1_Click _
(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim dataGridTable As DataTable = _
CType(DataGrid1.DataSource, DataTable)
' Set the current row using the RowNumber
' property of the CurrentCell.
Dim currentRow As DataRow = dataGridTable.Rows( _
DataGrid1.CurrentRowIndex)
Dim column As DataColumn = dataGridTable.Columns(1)
' Get the value of the column 1 in the DataTable.
label1.Text = currentRow(column, _
DataRowVersion.Current).ToString()
End Sub
Poznámky
Parametr version
by neměl být zaměňován s RowState vlastností . Argument version
popisuje stav dat obsažených ve sloupci vzhledem k původní hodnotě sloupce.
Při nastavení vlastnosti se vygeneruje výjimka, pokud v události dojde k výjimce ColumnChanging .
Pokud se jedná o okamžitou úpravu, podívejte se EndEdit na výjimky, které lze vygenerovat.
Viz také
Platí pro
Item[Int32, DataRowVersion]
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
Získá data uložená ve sloupci určené indexem a verzí dat k načtení.
public:
property System::Object ^ default[int, System::Data::DataRowVersion] { System::Object ^ get(int columnIndex, System::Data::DataRowVersion version); };
public object this[int columnIndex, System.Data.DataRowVersion version] { get; }
member this.Item(int * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(columnIndex As Integer, version As DataRowVersion) As Object
Parametry
- columnIndex
- Int32
Index sloupce počítaný od nuly
- version
- DataRowVersion
Jedna z DataRowVersion hodnot, která určuje požadovanou verzi řádku. Možné hodnoty jsou Default
, Original
, Current
a Proposed
.
Hodnota vlastnosti
Obsahující Object data.
Výjimky
Argument columnIndex
je mimo rozsah.
Datové typy hodnoty a sloupce se neshodují.
Řádek nemá tuto verzi dat.
Došlo k pokusu o nastavení hodnoty odstraněného řádku.
Příklady
Následující příklad získá aktuální hodnotu sloupce prostřednictvím Item[] vlastnosti objektu DataRow .
Private Sub DataGrid1_Click _
(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Set the current row using the RowNumber property of the CurrentCell.
Dim currentRow As DataRow = CType(DataGrid1.DataSource, DataTable). _
Rows(DataGrid1.CurrentCell.RowNumber)
' Get the value of the column 1 in the DataTable.
label1.Text = currentRow(1, DataRowVersion.Current).ToString()
End Sub
Poznámky
Řádek můžete vytvořit nebo aktualizovat pouze po volání BeginEdit metody; podobně musí být volána metoda pro EndEdit potvrzení úpravy. Po volání EndEdit metody a před voláním AcceptChanges metody jsou uloženy interní reprezentace původních a nových navrhovaných hodnot. Proto dokud nezavoláte AcceptChanges, můžete pomocí argumentu version
určit, jakou verzi hodnoty sloupce potřebujete, buď , DataRowVersion.Original
nebo DataRowVersion.Proposed
. Jakmile však zavoláte metodu AcceptChanges , verze sloupce se vrátí na DataRowVersion.Original
. Pokud je řádek nový, můžete také předat DataRowVersion.Default
parametr a načíst výchozí hodnotu sloupce. Při předávání DataRowVersion.Current
vrátí vlastnost aktuální hodnotu bez ohledu na její verzi.
Poznámka
Metoda BeginEdit je volána implicitně při změně hodnoty ovládacího prvku vázaného na data nebo při DataRow přidání objektu EndEditDataRowCollectiondo ; metoda je volána implicitně při volání následujících metod: AcceptChanges metoda DataRow objektu, AcceptChanges metoda objektu DataTableCancelEdit nebo metoda.
Naproti tomu DataRowVersion výčet Current
vrátí verzi dat po EndEdit volání metody.
Argument version
by neměl být zaměňován s RowState vlastností . Argument version
popisuje stav dat obsažených ve sloupci vzhledem k původní hodnotě sloupce. Vlastnost RowState popisuje stav celého řádku vzhledem k nadřazené DataTablevlastnosti .
Při nastavení vlastnosti se vygeneruje výjimka, pokud v události dojde k výjimce ColumnChanging .
Pokud se jedná o okamžitou úpravu, podívejte se EndEdit na výjimky, které lze vygenerovat.
Platí pro
Item[String, DataRowVersion]
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
- Zdroj:
- DataRow.cs
Získá zadanou verzi dat uloženou v pojmenovaném sloupci.
public:
property System::Object ^ default[System::String ^, System::Data::DataRowVersion] { System::Object ^ get(System::String ^ columnName, System::Data::DataRowVersion version); };
public object this[string columnName, System.Data.DataRowVersion version] { get; }
member this.Item(string * System.Data.DataRowVersion) : obj
Default Public ReadOnly Property Item(columnName As String, version As DataRowVersion) As Object
Parametry
- columnName
- String
Název sloupce
- version
- DataRowVersion
Jedna z DataRowVersion hodnot, která určuje požadovanou verzi řádku. Možné hodnoty jsou Default
, Original
, Current
a Proposed
.
Hodnota vlastnosti
Obsahující Object data.
Výjimky
Sloupec určený parametrem columnName
nebyl nalezen.
Datové typy hodnoty a sloupce se neshodují.
Řádek nemá tuto verzi dat.
Řádek byl odstraněn.
Příklady
Následující příklad získá aktuální verzi dat v buňce ovládacího prvku, na který DataGrid klikli.
private void DataGrid1_Click(object sender, System.EventArgs e)
{
// Set the current row using the RowNumber
// property of the CurrentCell.
DataRow currentRow =
((DataTable)(DataGrid1.DataSource)).
Rows[DataGrid1.CurrentCell.RowNumber];
// Print the current value of the column named "FirstName."
Console.WriteLine(currentRow["FirstName",
DataRowVersion.Current]);
}
Private Sub DataGrid1_Click _
(ByVal sender As System.Object, ByVal e As System.EventArgs)
' Set the current row using the RowNumber property
' of the CurrentCell.
Dim currentRow As DataRow = _
CType(DataGrid1.DataSource, DataTable). _
Rows(DataGrid1.CurrentCell.RowNumber)
' Print the current value of the column named "FirstName."
Console.WriteLine(currentRow("FirstName", _
DataRowVersion.Current).ToString())
End Sub
Poznámky
Verze by neměla být zaměňována s RowState vlastností . Argument version
popisuje stav dat obsažených ve sloupci vzhledem k původní hodnotě sloupce. Vlastnost RowState popisuje stav celého řádku vzhledem k nadřazené DataTablevlastnosti .
Při nastavení vlastnosti se vygeneruje výjimka, pokud v události dojde k výjimce ColumnChanging .
Pokud se jedná o okamžitou úpravu, podívejte se EndEdit na výjimky, které lze vygenerovat.