DataRow.Item[String, DataRowVersion] Vlastnost

Definice

Získá nebo nastaví data uložená v zadaném sloupci.Gets or sets data stored in a specified column.

Přetížení

Item[DataColumn]

Získá nebo nastaví data uložená v zadaném DataColumn.Gets or sets the data stored in the specified DataColumn.

Item[Int32]

Získá nebo nastaví data uložená ve sloupci zadaném indexem.Gets or sets the data stored in the column specified by index.

Item[String]

Získá nebo nastaví data uložená ve sloupci určeném názvem.Gets or sets the data stored in the column specified by name.

Item[DataColumn, DataRowVersion]

Načte zadanou verzi dat uloženou v zadaném DataColumn.Gets the specified version of data stored in the specified DataColumn.

Item[Int32, DataRowVersion]

Načte data uložená ve sloupci, která jsou určena indexem a verzí dat, která mají být načtena.Gets the data stored in the column, specified by index and version of the data to retrieve.

Item[String, DataRowVersion]

Načte zadanou verzi dat uloženou v pojmenovaném sloupci.Gets the specified version of data stored in the named column.

Item[DataColumn]

Získá nebo nastaví data uložená v zadaném DataColumn.Gets or sets the data stored in the specified DataColumn.

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

DataColumn Obsahující data.A DataColumn that contains the data.

Hodnota vlastnosti

Object Obsahující data.An Object that contains the data.

Výjimky

Sloupec nepatří do této tabulky.The column does not belong to this table.

Hodnota column je null.The column is null.

Byl proveden pokus o nastavení hodnoty na odstraněném řádku.An attempt was made to set a value on a deleted row.

Datové typy hodnoty a sloupce se neshodují.The data types of the value and the column do not match.

Příklady

Následující příklady ukazují použití Item[String, DataRowVersion] vlastnosti k získání a nastavení hodnoty určitého indexu sloupce.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. První příklad získá hodnotu prvního sloupce na každém řádku, na který uživatel klikne v DataGrid ovládacím prvku.The first example gets the value of the first column in any row that a user clicks in a DataGrid control. Druhý nastaví hodnotu předanou jako argument metody.The second sets a value passed as an argument to the method.

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 je výjimka generována v případě, že v ColumnChanging události dojde k výjimce.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Pokud jde o okamžitou úpravu, přečtěte si téma EndEdit pro výjimky, které je možné vygenerovat.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[Int32]

Získá nebo nastaví data uložená ve sloupci zadaném indexem.Gets or sets the data stored in the column specified by index.

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 nulyThe zero-based index of the column.

Hodnota vlastnosti

Object Obsahující data.An Object that contains the data.

Výjimky

Vyvolá se při pokusu o nastavení hodnoty na odstraněném řádku.Occurs when you try to set a value on a deleted row.

columnIndex Argument je mimo rozsah.The columnIndex argument is out of range.

Nastane, pokud nastavíte hodnotu a nová hodnota Type se neshoduje. DataTypeOccurs when you set the value and the new value's Type does not match DataType.

Příklady

Následující příklady ukazují použití Item[String, DataRowVersion] vlastnosti k získání a nastavení hodnoty určitého indexu sloupce.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. První příklad získá hodnotu prvního sloupce na každém řádku, na který uživatel klikne v DataGrid ovládacím prvku.The first example gets the value of the first column in any row that a user clicks in a DataGrid control.

   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 je výjimka generována v případě, že v ColumnChanging události dojde k výjimce.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Pokud se jedná o úpravu, přečtěte si téma EndEdit pro výjimky, které je možné vygenerovat.If this is an edit, see EndEdit for the exceptions that can be generated.

Item[String]

Získá nebo nastaví data uložená ve sloupci určeném názvem.Gets or sets the data stored in the column specified by name.

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 sloupceThe name of the column.

Hodnota vlastnosti

Object Obsahující data.An Object that contains the data.

Výjimky

Sloupec určený parametrem columnName nebyl nalezen.The column specified by columnName cannot be found.

Vyvolá se při pokusu o nastavení hodnoty na odstraněném řádku.Occurs when you try to set a value on a deleted row.

Nastane, pokud nastavíte hodnotu a její Type hodnota se neshoduje. DataTypeOccurs when you set a value and its Type does not match DataType.

Nastane, pokud se pokusíte vložit hodnotu null do sloupce, kde AllowDBNull je nastavené falsena.Occurs when you try to insert a null value into a column where AllowDBNull is set to false.

Příklady

Následující příklady ukazují použití Item[String, DataRowVersion] vlastnosti k získání a nastavení hodnoty určitého indexu sloupce.The following examples demonstrate the use of the Item[String, DataRowVersion] property to get and set the value of a specific column index. První příklad získá hodnotu prvního sloupce na každém řádku, na který uživatel klikne v DataGrid ovládacím prvku.The first example gets the value of the first column in any row that a user clicks in a DataGrid control. Druhý nastaví hodnotu předanou jako argument metody.The second sets a value passed as an argument to the method.

   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 je výjimka generována v případě, že v ColumnChanging události dojde k výjimce.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Pokud jde o okamžitou úpravu, přečtěte si téma EndEdit pro výjimky, které je možné vygenerovat.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[DataColumn, DataRowVersion]

Načte zadanou verzi dat uloženou v zadaném DataColumn.Gets the specified version of data stored in the specified 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

DataColumn , Který obsahuje informace o sloupci.A DataColumn that contains information about the column.

version
DataRowVersion

Jedna z DataRowVersion hodnot, které určují požadovanou verzi řádku.One of the DataRowVersion values that specifies the row version that you want. Možné hodnoty jsou Default, Original, Currenta. ProposedPossible values are Default, Original, Current, and Proposed.

Hodnota vlastnosti

Object Obsahující data.An Object that contains the data.

Výjimky

Sloupec nepatří do tabulky.The column does not belong to the table.

column Argument obsahuje hodnotu null.The column argument contains null.

Řádek nemá tuto verzi dat.The row does not have this version of data.

Příklady

Následující příklad získá aktuální hodnotu kliknutí na buňku v DataGrid ovládacím prvku.The following example gets the current value of a clicked cell in the DataGrid control.

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

VlastnostnesmíRowState být zaměněna s vlastností. versionThe version should not be confused with the RowState property. version Argument popisuje stav dat, která jsou obsažena ve sloupci vzhledem k původní hodnotě sloupce.The version argument describes the state of the data that is contained by the column relative to the column's original value.

Při nastavení vlastnosti je výjimka generována v případě, že v ColumnChanging události dojde k výjimce.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Pokud jde o okamžitou úpravu, přečtěte si téma EndEdit pro výjimky, které je možné vygenerovat.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Viz také

Item[Int32, DataRowVersion]

Načte data uložená ve sloupci, která jsou určena indexem a verzí dat, která mají být načtena.Gets the data stored in the column, specified by index and version of the data to retrieve.

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 nulyThe zero-based index of the column.

version
DataRowVersion

Jedna z DataRowVersion hodnot, které určují požadovanou verzi řádku.One of the DataRowVersion values that specifies the row version that you want. Možné hodnoty jsou Default, Original, Currenta. ProposedPossible values are Default, Original, Current, and Proposed.

Hodnota vlastnosti

Object Obsahující data.An Object that contains the data.

Výjimky

columnIndex Argument je mimo rozsah.The columnIndex argument is out of range.

Datové typy hodnoty a sloupce se neshodují.The data types of the value and the column do not match.

Řádek nemá tuto verzi dat.The row does not have this version of data.

Byl proveden pokus o nastavení hodnoty na odstraněném řádku.An attempt was made to set a value on a deleted row.

Příklady

Následující příklad získá aktuální hodnotu sloupce prostřednictvím Item[String, DataRowVersion] vlastnosti DataRow objektu.The following example gets the current value of a column through the Item[String, DataRowVersion] property of the DataRow object.

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 lze vytvořit nebo aktualizovat pouze po volání BeginEdit metody; podobně EndEdit je třeba volat metodu pro potvrzení úpravy.You can only create or update a row after you call the BeginEdit method; similarly, the EndEdit method must be called to commit the edit. Po volání EndEdit metody a před AcceptChanges voláním metody jsou uloženy interní reprezentace původní a nové navržené hodnoty.After you call the EndEdit method, and before you call the AcceptChanges method, internal representations of the original and new proposed values are stored. Proto, dokud nebudete AcceptChangesvolat, můžete version použít argument k určení verze hodnoty sloupce, DataRowVersion.Original kterou potřebujete, a to buď nebo DataRowVersion.Proposed.Therefore, until you call the AcceptChanges, you can use the version argument to specify which version of a column's value you need, either the DataRowVersion.Original or DataRowVersion.Proposed. Jakmile však zavoláte AcceptChanges metodu, verze sloupce se vrátí na DataRowVersion.Original.However, as soon as you call the AcceptChanges method, the version of the column reverts to DataRowVersion.Original. Pokud je řádek nový, můžete také předat DataRowVersion.Default parametr pro načtení výchozí hodnoty sloupce.If the row is new, you can also pass DataRowVersion.Default for the parameter to retrieve the column's default value. Při předání DataRowVersion.Currentvlastnosti vrátí aktuální hodnotu bez ohledu na její verzi.When passing DataRowVersion.Current, the property returns the current value, whatever its version may be.

Poznámka

DataRowCollection DataRow AcceptChanges EndEdit Metoda je volána implicitně při změně hodnoty ovládacího prvku vázaného na data nebo při přidání objektu do; metoda je volána implicitně při volání následujících metod: BeginEdit DataRow metoda objektu AcceptChanges , metodyDataTable objektu neboCancelEdit metody.The BeginEdit method is called implicitly when you change the value of a data-bound control or when a DataRow object is added to the DataRowCollection; the EndEdit method is called implicitly when you call the following methods: the AcceptChanges method of the DataRow object, the AcceptChanges method of the DataTable object, or the CancelEdit method.

Naproti tomu DataRowVersion výčet Current vrátí verzi dat po EndEdit volání metody.By contrast, the DataRowVersion enumeration Current returns the version of the data after the EndEdit method has been called.

Argument by neměl být zaměnitelný RowState s vlastností. versionThe version argument should not be confused with the RowState property. version Argument popisuje stav dat, která jsou obsažena ve sloupci vzhledem k původní hodnotě sloupce.The version argument describes the state of the data that is contained by the column relative to the column's original value. Vlastnost popisuje stav celého řádku relativně k jeho nadřazenému DataTable. RowStateThe RowState property describes the state of the whole row relative to its parent DataTable.

Při nastavení vlastnosti je výjimka generována v případě, že v ColumnChanging události dojde k výjimce.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Pokud jde o okamžitou úpravu, přečtěte si téma EndEdit pro výjimky, které je možné vygenerovat.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Item[String, DataRowVersion]

Načte zadanou verzi dat uloženou v pojmenovaném sloupci.Gets the specified version of data stored in the named column.

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 sloupceThe name of the column.

version
DataRowVersion

Jedna z DataRowVersion hodnot, které určují požadovanou verzi řádku.One of the DataRowVersion values that specifies the row version that you want. Možné hodnoty jsou Default, Original, Currenta. ProposedPossible values are Default, Original, Current, and Proposed.

Hodnota vlastnosti

Object Obsahující data.An Object that contains the data.

Výjimky

Sloupec určený parametrem columnName nebyl nalezen.The column specified by columnName cannot be found.

Datové typy hodnoty a sloupce se neshodují.The data types of the value and the column do not match.

Řádek nemá tuto verzi dat.The row does not have this version of data.

Řádek byl odstraněn.The row was deleted.

Příklady

Následující příklad načte aktuální verzi dat na kliknutí na buňku DataGrid ovládacího prvku.The following example gets the current version of data at a clicked cell of a DataGrid control.

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 nesmí být zaměněna s RowState vlastností.The version should not be confused with the RowState property. version Argument popisuje stav dat, která jsou obsažena ve sloupci vzhledem k původní hodnotě sloupce.The version argument describes the state of the data that is contained by the column relative to the column's original value. Vlastnost popisuje stav celého řádku relativně k jeho nadřazenému DataTable. RowStateThe RowState property describes the state of the whole row relative to its parent DataTable.

Při nastavení vlastnosti je výjimka generována v případě, že v ColumnChanging události dojde k výjimce.When you set the property, an exception is generated if an exception occurs in the ColumnChanging event.

Pokud jde o okamžitou úpravu, přečtěte si téma EndEdit pro výjimky, které je možné vygenerovat.If this is an immediate edit, see EndEdit for the exceptions that can be generated.

Viz také

Platí pro