Udostępnij za pośrednictwem


DataRow.Item[] Właściwość

Definicja

Pobiera lub ustawia dane przechowywane w określonej kolumnie.

Przeciążenia

Item[DataColumn]

Pobiera lub ustawia dane przechowywane w określonym DataColumnobiekcie .

Item[Int32]

Pobiera lub ustawia dane przechowywane w kolumnie określonej przez indeks.

Item[String]

Pobiera lub ustawia dane przechowywane w kolumnie określonej przez nazwę.

Item[DataColumn, DataRowVersion]

Pobiera określoną wersję danych przechowywanych w określonym DataColumnpliku .

Item[Int32, DataRowVersion]

Pobiera dane przechowywane w kolumnie określonej przez indeks i wersję danych do pobrania.

Item[String, DataRowVersion]

Pobiera określoną wersję danych przechowywanych w nazwanej kolumnie.

Item[DataColumn]

Źródło:
DataRow.cs
Źródło:
DataRow.cs
Źródło:
DataRow.cs

Pobiera lub ustawia dane przechowywane w określonym DataColumnobiekcie .

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

Element DataColumn zawierający dane.

Wartość właściwości

Element Object zawierający dane.

Wyjątki

Kolumna nie należy do tej tabeli.

Parametr column ma wartość null.

Podjęto próbę ustawienia wartości w usuniętym wierszu.

Typy danych wartości i kolumny nie są zgodne.

Przykłady

W poniższych przykładach pokazano użycie Item[] właściwości w celu pobrania i ustawienia wartości określonego indeksu kolumny. Pierwszy przykład pobiera wartość pierwszej kolumny w dowolnym wierszu, który użytkownik klika w kontrolce DataGrid . Drugi ustawia wartość przekazaną jako argument do metody .

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

Uwagi

Po ustawieniu właściwości jest generowany wyjątek, jeśli wystąpi wyjątek w ColumnChanging zdarzeniu.

Jeśli jest to natychmiastowa edycja, zobacz EndEdit wyjątki, które można wygenerować.

Dotyczy

Item[Int32]

Źródło:
DataRow.cs
Źródło:
DataRow.cs
Źródło:
DataRow.cs

Pobiera lub ustawia dane przechowywane w kolumnie określonej przez indeks.

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

Indeks oparty na zerze kolumny.

Wartość właściwości

Element Object zawierający dane.

Wyjątki

Występuje podczas próby ustawienia wartości w usuniętym wierszu.

Argument columnIndex jest poza zakresem.

Występuje, gdy ustawisz wartość i nowa wartość nie jest zgodna TypeDataTypez wartością .

Przykłady

W poniższych przykładach pokazano użycie Item[] właściwości w celu pobrania i ustawienia wartości określonego indeksu kolumny. Pierwszy przykład pobiera wartość pierwszej kolumny w dowolnym wierszu, który użytkownik klika w kontrolce DataGrid .

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

Uwagi

Po ustawieniu właściwości jest generowany wyjątek, jeśli wystąpi wyjątek w ColumnChanging zdarzeniu.

Jeśli jest to edycja, zobacz EndEdit wyjątki, które można wygenerować.

Dotyczy

Item[String]

Źródło:
DataRow.cs
Źródło:
DataRow.cs
Źródło:
DataRow.cs

Pobiera lub ustawia dane przechowywane w kolumnie określonej przez nazwę.

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

Nazwa kolumny.

Wartość właściwości

Element Object zawierający dane.

Wyjątki

Nie można odnaleźć kolumny określonej przez columnName .

Występuje podczas próby ustawienia wartości w usuniętym wierszu.

Występuje, gdy ustawisz wartość i jej Type wartość nie jest zgodna DataTypez wartością .

Występuje podczas próby wstawienia wartości null do kolumny, w której AllowDBNull ustawiono wartość false.

Przykłady

W poniższych przykładach pokazano użycie Item[] właściwości w celu pobrania i ustawienia wartości określonego indeksu kolumny. Pierwszy przykład pobiera wartość pierwszej kolumny w dowolnym wierszu, który użytkownik klika w kontrolce DataGrid . Drugi ustawia wartość przekazaną jako argument do metody .

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

Uwagi

Po ustawieniu właściwości jest generowany wyjątek, jeśli wystąpi wyjątek w ColumnChanging zdarzeniu.

Jeśli jest to natychmiastowa edycja, zobacz EndEdit wyjątki, które można wygenerować.

Dotyczy

Item[DataColumn, DataRowVersion]

Źródło:
DataRow.cs
Źródło:
DataRow.cs
Źródło:
DataRow.cs

Pobiera określoną wersję danych przechowywanych w określonym DataColumnpliku .

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

Obiekt DataColumn zawierający informacje o kolumnie.

version
DataRowVersion

DataRowVersion Jedna z wartości określających odpowiednią wersję wiersza. Możliwe wartości to Default, Original, Currenti Proposed.

Wartość właściwości

Element Object zawierający dane.

Wyjątki

Kolumna nie należy do tabeli.

Argument column zawiera wartość null.

Wiersz nie ma tej wersji danych.

Przykłady

Poniższy przykład pobiera bieżącą wartość klikniętej komórki w kontrolce DataGrid .

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

Uwagi

Nie version należy mylić obiektu z właściwością RowState . Argument version opisuje stan danych zawartych w kolumnie względem oryginalnej wartości kolumny.

Po ustawieniu właściwości jest generowany wyjątek, jeśli wystąpi wyjątek w ColumnChanging zdarzeniu.

Jeśli jest to natychmiastowa edycja, zobacz EndEdit wyjątki, które można wygenerować.

Zobacz też

Dotyczy

Item[Int32, DataRowVersion]

Źródło:
DataRow.cs
Źródło:
DataRow.cs
Źródło:
DataRow.cs

Pobiera dane przechowywane w kolumnie określonej przez indeks i wersję danych do pobrania.

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

Indeks oparty na zerze kolumny.

version
DataRowVersion

DataRowVersion Jedna z wartości określających odpowiednią wersję wiersza. Możliwe wartości to Default, Original, Currenti Proposed.

Wartość właściwości

Element Object zawierający dane.

Wyjątki

Argument columnIndex jest poza zakresem.

Typy danych wartości i kolumny nie są zgodne.

Wiersz nie ma tej wersji danych.

Podjęto próbę ustawienia wartości w usuniętym wierszu.

Przykłady

Poniższy przykład pobiera bieżącą wartość kolumny za pośrednictwem Item[] właściwości DataRow obiektu.

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

Uwagi

Można utworzyć lub zaktualizować wiersz tylko po wywołaniu BeginEdit metody . Podobnie metoda musi zostać wywołana, EndEdit aby zatwierdzić edycję. Po wywołaniu EndEdit metody i przed wywołaniem AcceptChanges metody są przechowywane wewnętrzne reprezentacje oryginalnych i nowych proponowanych wartości. W związku z tym do momentu wywołania argumentu można użyć argumentu AcceptChangesversion , aby określić, która wersja wartości kolumny jest potrzebna , albo DataRowVersion.OriginalDataRowVersion.Proposed. Jednak zaraz po wywołaniu AcceptChanges metody wersja kolumny zostanie przywrócona do DataRowVersion.Original. Jeśli wiersz jest nowy, możesz również przekazać DataRowVersion.Default parametr , aby pobrać wartość domyślną kolumny. Podczas przekazywania DataRowVersion.Currentwłaściwość zwraca bieżącą wartość, niezależnie od jej wersji.

Uwaga

Metoda BeginEdit jest wywoływana niejawnie w przypadku zmiany wartości kontrolki powiązanej z danymi lub DataRow dodania obiektu do DataRowCollectionmetody . EndEdit Metoda jest wywoływana niejawnie podczas wywoływania następujących metod: AcceptChanges metody DataRow obiektu, AcceptChanges metody DataTable obiektu lub CancelEdit metody.

Natomiast DataRowVersion wyliczenie Current zwraca wersję danych po wywołaniu EndEdit metody.

Argument version nie powinien być mylony z właściwością RowState . Argument version opisuje stan danych zawartych w kolumnie względem oryginalnej wartości kolumny. Właściwość RowState opisuje stan całego wiersza względem jego elementu nadrzędnego DataTable.

Po ustawieniu właściwości jest generowany wyjątek, jeśli wystąpi wyjątek w ColumnChanging zdarzeniu.

Jeśli jest to natychmiastowa edycja, zobacz EndEdit wyjątki, które można wygenerować.

Dotyczy

Item[String, DataRowVersion]

Źródło:
DataRow.cs
Źródło:
DataRow.cs
Źródło:
DataRow.cs

Pobiera określoną wersję danych przechowywanych w nazwanej kolumnie.

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

Nazwa kolumny.

version
DataRowVersion

DataRowVersion Jedna z wartości określających odpowiednią wersję wiersza. Możliwe wartości to Default, Original, Currenti Proposed.

Wartość właściwości

Element Object zawierający dane.

Wyjątki

Nie można odnaleźć kolumny określonej przez columnName .

Typy danych wartości i kolumny nie są zgodne.

Wiersz nie ma tej wersji danych.

Wiersz został usunięty.

Przykłady

Poniższy przykład pobiera bieżącą wersję danych w klikniętej komórce kontrolki DataGrid .

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

Uwagi

Wersja nie powinna być mylona z właściwością RowState . Argument version opisuje stan danych zawartych w kolumnie względem oryginalnej wartości kolumny. Właściwość RowState opisuje stan całego wiersza względem jego elementu nadrzędnego DataTable.

Po ustawieniu właściwości jest generowany wyjątek, jeśli wystąpi wyjątek w ColumnChanging zdarzeniu.

Jeśli jest to natychmiastowa edycja, zobacz EndEdit wyjątki, które można wygenerować.

Zobacz też

Dotyczy