Bagikan melalui


DataRow.Item[] Properti

Definisi

Mendapatkan atau mengatur data yang disimpan dalam kolom tertentu.

Overload

Item[DataColumn]

Mendapatkan atau mengatur data yang disimpan dalam yang ditentukan DataColumn.

Item[Int32]

Mendapatkan atau mengatur data yang disimpan dalam kolom yang ditentukan oleh indeks.

Item[String]

Mendapatkan atau mengatur data yang disimpan dalam kolom yang ditentukan berdasarkan nama.

Item[DataColumn, DataRowVersion]

Mendapatkan versi data yang ditentukan yang disimpan dalam .DataColumn

Item[Int32, DataRowVersion]

Mendapatkan data yang disimpan dalam kolom, yang ditentukan oleh indeks dan versi data yang akan diambil.

Item[String, DataRowVersion]

Mendapatkan versi data yang ditentukan yang disimpan di kolom bernama.

Item[DataColumn]

Sumber:
DataRow.cs
Sumber:
DataRow.cs
Sumber:
DataRow.cs

Mendapatkan atau mengatur data yang disimpan dalam yang ditentukan 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

Parameter

column
DataColumn

DataColumn yang berisi data.

Nilai Properti

Yang Object berisi data.

Pengecualian

Kolom bukan milik tabel ini.

adalah column null.

Upaya dilakukan untuk menetapkan nilai pada baris yang dihapus.

Jenis data nilai dan kolom tidak cocok.

Contoh

Contoh berikut menunjukkan penggunaan Item[] properti untuk mendapatkan dan mengatur nilai indeks kolom tertentu. Contoh pertama mendapatkan nilai kolom pertama di baris mana pun yang diklik pengguna dalam DataGrid kontrol. Yang kedua menetapkan nilai yang diteruskan sebagai argumen ke metode .

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

Keterangan

Saat Anda mengatur properti , pengecualian dihasilkan jika pengecualian terjadi dalam peristiwa tersebut ColumnChanging .

Jika ini adalah pengeditan langsung, lihat EndEdit untuk pengecualian yang dapat dihasilkan.

Berlaku untuk

Item[Int32]

Sumber:
DataRow.cs
Sumber:
DataRow.cs
Sumber:
DataRow.cs

Mendapatkan atau mengatur data yang disimpan dalam kolom yang ditentukan oleh 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

Parameter

columnIndex
Int32

Indeks kolom berbasis nol.

Nilai Properti

Yang Object berisi data.

Pengecualian

Terjadi ketika Anda mencoba mengatur nilai pada baris yang dihapus.

Argumen columnIndex di luar rentang.

Terjadi saat Anda mengatur nilai dan nilai Type baru tidak cocok DataTypedengan .

Contoh

Contoh berikut menunjukkan penggunaan Item[] properti untuk mendapatkan dan mengatur nilai indeks kolom tertentu. Contoh pertama mendapatkan nilai kolom pertama di baris mana pun yang diklik pengguna dalam DataGrid kontrol.

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

Keterangan

Saat Anda mengatur properti , pengecualian dihasilkan jika pengecualian terjadi dalam peristiwa tersebut ColumnChanging .

Jika ini adalah pengeditan, lihat EndEdit untuk pengecualian yang dapat dihasilkan.

Berlaku untuk

Item[String]

Sumber:
DataRow.cs
Sumber:
DataRow.cs
Sumber:
DataRow.cs

Mendapatkan atau mengatur data yang disimpan dalam kolom yang ditentukan berdasarkan nama.

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

Parameter

columnName
String

Nama kolom.

Nilai Properti

Yang Object berisi data.

Pengecualian

Kolom yang ditentukan oleh columnName tidak dapat ditemukan.

Terjadi ketika Anda mencoba mengatur nilai pada baris yang dihapus.

Terjadi ketika Anda menetapkan nilai dan Type tidak cocok DataTypedengan .

Terjadi ketika Anda mencoba menyisipkan nilai null ke dalam kolom di mana AllowDBNull diatur ke false.

Contoh

Contoh berikut menunjukkan penggunaan Item[] properti untuk mendapatkan dan mengatur nilai indeks kolom tertentu. Contoh pertama mendapatkan nilai kolom pertama di baris mana pun yang diklik pengguna dalam DataGrid kontrol. Yang kedua menetapkan nilai yang diteruskan sebagai argumen ke metode .

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

Keterangan

Saat Anda mengatur properti , pengecualian dihasilkan jika pengecualian terjadi dalam peristiwa tersebut ColumnChanging .

Jika ini adalah pengeditan langsung, lihat EndEdit untuk pengecualian yang dapat dihasilkan.

Berlaku untuk

Item[DataColumn, DataRowVersion]

Sumber:
DataRow.cs
Sumber:
DataRow.cs
Sumber:
DataRow.cs

Mendapatkan versi data yang ditentukan yang disimpan dalam .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

Parameter

column
DataColumn

DataColumn yang berisi informasi tentang kolom.

version
DataRowVersion

Salah DataRowVersion satu nilai yang menentukan versi baris yang Anda inginkan. Nilai yang mungkin adalah Default, Original, Current, dan Proposed.

Nilai Properti

Yang Object berisi data.

Pengecualian

Kolom bukan milik tabel.

Argumen column berisi null.

Baris tidak memiliki versi data ini.

Contoh

Contoh berikut mendapatkan nilai sel yang diklik saat ini dalam DataGrid kontrol.

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

Keterangan

seharusnya version tidak bingung dengan RowState properti . Argumen version menjelaskan status data yang dimuat oleh kolom relatif terhadap nilai asli kolom.

Saat Anda mengatur properti , pengecualian dihasilkan jika pengecualian terjadi dalam peristiwa tersebut ColumnChanging .

Jika ini adalah pengeditan langsung, lihat EndEdit untuk pengecualian yang dapat dihasilkan.

Lihat juga

Berlaku untuk

Item[Int32, DataRowVersion]

Sumber:
DataRow.cs
Sumber:
DataRow.cs
Sumber:
DataRow.cs

Mendapatkan data yang disimpan dalam kolom, yang ditentukan oleh indeks dan versi data yang akan diambil.

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

Parameter

columnIndex
Int32

Indeks kolom berbasis nol.

version
DataRowVersion

Salah DataRowVersion satu nilai yang menentukan versi baris yang Anda inginkan. Nilai yang mungkin adalah Default, Original, Current, dan Proposed.

Nilai Properti

Yang Object berisi data.

Pengecualian

Argumen columnIndex di luar rentang.

Jenis data nilai dan kolom tidak cocok.

Baris tidak memiliki versi data ini.

Upaya dilakukan untuk menetapkan nilai pada baris yang dihapus.

Contoh

Contoh berikut mendapatkan nilai kolom saat ini melalui Item[] properti DataRow objek .

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

Keterangan

Anda hanya dapat membuat atau memperbarui baris setelah memanggil BeginEdit metode; demikian pula, EndEdit metode harus dipanggil untuk melakukan pengeditan. Setelah Anda memanggil EndEdit metode , dan sebelum Anda memanggil AcceptChanges metode , representasi internal dari nilai asli dan baru yang diusulkan disimpan. Oleh karena itu, sampai Anda memanggil AcceptChanges, Anda dapat menggunakan version argumen untuk menentukan versi nilai kolom mana yang Anda butuhkan, baik DataRowVersion.Original atau DataRowVersion.Proposed. Namun, segera setelah Anda memanggil AcceptChanges metode , versi kolom kembali ke DataRowVersion.Original. Jika baris baru, Anda juga dapat meneruskan DataRowVersion.Default parameter untuk mengambil nilai default kolom. Saat melewati DataRowVersion.Current, properti mengembalikan nilai saat ini, apa pun versinya.

Catatan

Metode BeginEdit ini dipanggil secara implisit ketika Anda mengubah nilai kontrol terikat data atau ketika DataRow objek ditambahkan ke DataRowCollection; EndEdit metode dipanggil secara implisit ketika Anda memanggil metode berikut: AcceptChanges metode DataRow objek, AcceptChanges metode DataTable objek, atau CancelEdit metode .

Sebaliknya, DataRowVersion enumerasi Current mengembalikan versi data setelah EndEdit metode dipanggil.

Argumen version tidak boleh dikacaukan dengan RowState properti . Argumen version menjelaskan status data yang dimuat oleh kolom relatif terhadap nilai asli kolom. Properti RowState menjelaskan status seluruh baris relatif terhadap induknya DataTable.

Saat Anda mengatur properti , pengecualian dihasilkan jika pengecualian terjadi dalam peristiwa tersebut ColumnChanging .

Jika ini adalah pengeditan langsung, lihat EndEdit untuk pengecualian yang dapat dihasilkan.

Berlaku untuk

Item[String, DataRowVersion]

Sumber:
DataRow.cs
Sumber:
DataRow.cs
Sumber:
DataRow.cs

Mendapatkan versi data yang ditentukan yang disimpan di kolom bernama.

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

Parameter

columnName
String

Nama kolom.

version
DataRowVersion

Salah DataRowVersion satu nilai yang menentukan versi baris yang Anda inginkan. Nilai yang mungkin adalah Default, Original, Current, dan Proposed.

Nilai Properti

Yang Object berisi data.

Pengecualian

Kolom yang ditentukan oleh columnName tidak dapat ditemukan.

Jenis data nilai dan kolom tidak cocok.

Baris tidak memiliki versi data ini.

Baris telah dihapus.

Contoh

Contoh berikut mendapatkan versi data saat ini pada sel kontrol yang DataGrid diklik.

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

Keterangan

Versi tidak boleh dikacaukan dengan RowState properti . Argumen version menjelaskan status data yang dimuat oleh kolom relatif terhadap nilai asli kolom. Properti RowState menjelaskan status seluruh baris relatif terhadap induknya DataTable.

Saat Anda mengatur properti , pengecualian dihasilkan jika pengecualian terjadi dalam peristiwa tersebut ColumnChanging .

Jika ini adalah pengeditan langsung, lihat EndEdit untuk pengecualian yang dapat dihasilkan.

Lihat juga

Berlaku untuk