DataRow.Item[] Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.
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 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.