DataRow.Item[] Özellik

Tanım

Belirtilen sütunda depolanan verileri alır veya ayarlar.

Aşırı Yüklemeler

Item[DataColumn]

Belirtilen DataColumniçinde depolanan verileri alır veya ayarlar.

Item[Int32]

Dizin tarafından belirtilen sütunda depolanan verileri alır veya ayarlar.

Item[String]

Adla belirtilen sütunda depolanan verileri alır veya ayarlar.

Item[DataColumn, DataRowVersion]

Belirtilen içinde depolanan verilerin belirtilen DataColumnsürümünü alır.

Item[Int32, DataRowVersion]

Alınacak verilerin dizini ve sürümüyle belirtilen sütunda depolanan verileri alır.

Item[String, DataRowVersion]

Adlandırılmış sütunda depolanan verilerin belirtilen sürümünü alır.

Item[DataColumn]

Kaynak:
DataRow.cs
Kaynak:
DataRow.cs
Kaynak:
DataRow.cs

Belirtilen DataColumniçinde depolanan verileri alır veya ayarlar.

C#
public object this[System.Data.DataColumn column] { get; set; }

Parametreler

column
DataColumn

DataColumn Verileri içeren bir.

Özellik Değeri

Object Verileri içeren bir.

Özel durumlar

Sütun bu tabloya ait değil.

column null değeridir.

Silinen bir satırda değer ayarlama girişiminde bulunuldu.

Değerin ve sütunun veri türleri eşleşmiyor.

Örnekler

Aşağıdaki örneklerde, belirli bir sütun dizininin Item[] değerini almak ve ayarlamak için özelliğinin kullanımı gösterilmektedir. İlk örnek, bir kullanıcının denetimde tıklattığını herhangi bir satırdaki ilk sütunun DataGrid değerini alır. İkincisi, yöntemine bağımsız değişken olarak geçirilen bir değeri ayarlar.

VB
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

Açıklamalar

özelliğini ayarladığınızda, olayda ColumnChanging bir özel durum oluşursa bir özel durum oluşturulur.

Bu hemen bir düzenlemeyse, oluşturulabilecek özel durumlar için bkz EndEdit .

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[Int32]

Kaynak:
DataRow.cs
Kaynak:
DataRow.cs
Kaynak:
DataRow.cs

Dizin tarafından belirtilen sütunda depolanan verileri alır veya ayarlar.

C#
public object this[int columnIndex] { get; set; }

Parametreler

columnIndex
Int32

Sütunun sıfır tabanlı dizini.

Özellik Değeri

Object Verileri içeren bir.

Özel durumlar

Silinen satırda bir değer ayarlamaya çalıştığınızda gerçekleşir.

Bağımsız columnIndex değişken aralık dışında.

Değeri ayarladığınızda ve yeni değerin Type değerleri ile eşleşmediğinde DataTypegerçekleşir.

Örnekler

Aşağıdaki örneklerde, belirli bir sütun dizininin Item[] değerini almak ve ayarlamak için özelliğinin kullanımı gösterilmektedir. İlk örnek, bir kullanıcının denetimde tıklattığını herhangi bir satırdaki ilk sütunun DataGrid değerini alır.

C#
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;
}

Açıklamalar

özelliğini ayarladığınızda, olayda ColumnChanging bir özel durum oluşursa bir özel durum oluşturulur.

Bu bir düzenlemeyse, oluşturulabilecek özel durumlar için bkz EndEdit .

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[String]

Kaynak:
DataRow.cs
Kaynak:
DataRow.cs
Kaynak:
DataRow.cs

Adla belirtilen sütunda depolanan verileri alır veya ayarlar.

C#
public object this[string columnName] { get; set; }

Parametreler

columnName
String

Sütunun adı.

Özellik Değeri

Object Verileri içeren bir.

Özel durumlar

tarafından columnName belirtilen sütun bulunamıyor.

Silinen satırda bir değer ayarlamaya çalıştığınızda gerçekleşir.

Bir değer ayarladığınızda ve değeri Type ile eşleşmediğinde DataTypegerçekleşir.

olarak ayarlanmış falsebir sütuna AllowDBNull null değer eklemeye çalıştığınızda gerçekleşir.

Örnekler

Aşağıdaki örneklerde, belirli bir sütun dizininin Item[] değerini almak ve ayarlamak için özelliğinin kullanımı gösterilmektedir. İlk örnek, bir kullanıcının denetimde tıklattığını herhangi bir satırdaki ilk sütunun DataGrid değerini alır. İkincisi, yöntemine bağımsız değişken olarak geçirilen bir değeri ayarlar.

C#
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;
}

Açıklamalar

özelliğini ayarladığınızda, olayda ColumnChanging bir özel durum oluşursa bir özel durum oluşturulur.

Bu hemen bir düzenlemeyse, oluşturulabilecek özel durumlar için bkz EndEdit .

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[DataColumn, DataRowVersion]

Kaynak:
DataRow.cs
Kaynak:
DataRow.cs
Kaynak:
DataRow.cs

Belirtilen içinde depolanan verilerin belirtilen DataColumnsürümünü alır.

C#
public object this[System.Data.DataColumn column, System.Data.DataRowVersion version] { get; }

Parametreler

column
DataColumn

DataColumn Sütun hakkında bilgi içeren bir.

version
DataRowVersion

DataRowVersion İstediğiniz satır sürümünü belirten değerlerden biri. Olası değerler , Original, Currentve ProposeddeğerleridirDefault.

Özellik Değeri

Object Verileri içeren bir.

Özel durumlar

Sütun tabloya ait değil.

Bağımsız column değişken null içeriyor.

Satırda bu sürümde veri yoktur.

Örnekler

Aşağıdaki örnek, denetimdeki tıklanan hücrenin DataGrid geçerli değerini alır.

C#
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]);
}

Açıklamalar

version özelliğiyle RowState karıştırılmamalıdır. bağımsız değişkeni, version sütunun özgün değerine göre sütunun içerdiği verilerin durumunu açıklar.

özelliğini ayarladığınızda, olayda ColumnChanging bir özel durum oluşursa bir özel durum oluşturulur.

Bu hemen bir düzenlemeyse, oluşturulabilecek özel durumlar için bkz EndEdit .

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[Int32, DataRowVersion]

Kaynak:
DataRow.cs
Kaynak:
DataRow.cs
Kaynak:
DataRow.cs

Alınacak verilerin dizini ve sürümüyle belirtilen sütunda depolanan verileri alır.

C#
public object this[int columnIndex, System.Data.DataRowVersion version] { get; }

Parametreler

columnIndex
Int32

Sütunun sıfır tabanlı dizini.

version
DataRowVersion

DataRowVersion İstediğiniz satır sürümünü belirten değerlerden biri. Olası değerler , Original, Currentve ProposeddeğerleridirDefault.

Özellik Değeri

Object Verileri içeren bir.

Özel durumlar

Bağımsız columnIndex değişken aralık dışında.

Değerin ve sütunun veri türleri eşleşmiyor.

Satırda bu sürümde veri yoktur.

Silinen bir satırda değer ayarlama girişiminde bulunuldu.

Örnekler

Aşağıdaki örnek, nesnesinin özelliği aracılığıyla bir sütunun Item[]DataRow geçerli değerini alır.

VB
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

Açıklamalar

Yalnızca yöntemini çağırdıktan BeginEdit sonra bir satır oluşturabilir veya güncelleştirebilirsiniz; benzer şekilde, düzenlemeyi EndEdit işlemek için yönteminin çağrılması gerekir. yöntemini çağırdıktan EndEdit sonra ve yöntemini çağırmadan AcceptChanges önce özgün ve yeni önerilen değerlerin iç gösterimleri depolanır. Bu nedenle, çağırana AcceptChangeskadar bağımsız değişkenini version kullanarak bir sütunun değerinin hangi sürümüne ihtiyacınız DataRowVersion.Original olduğunu (veya DataRowVersion.Proposed) belirtebilirsiniz. Ancak yöntemini çağırdığınızda AcceptChanges sütunun sürümü olarak DataRowVersion.Originalgeri döner. Satır yeniyse, sütunun varsayılan değerini almak için parametresini de geçirebilirsiniz DataRowVersion.Default . geçirildiğinde DataRowVersion.Currentözelliği, sürümü ne olursa olsun geçerli değeri döndürür.

Not

BeginEdit Veriye bağlı denetimin değerini değiştirdiğinizde veya öğesine bir DataRow nesne eklendiğinde DataRowCollectionyöntemi örtük olarak çağrılır; EndEdit aşağıdaki yöntemleri çağırdığınızda yöntem örtük olarak çağrılır: AcceptChanges nesnenin DataRow yöntemi, AcceptChanges nesnenin DataTable yöntemi veya CancelEdit yöntemi.

Buna karşılık, DataRowVersion numaralandırma Current yöntemi çağrıldıktan sonra EndEdit verilerin sürümünü döndürür.

version Bağımsız değişken özelliğiyle RowState karıştırılmamalıdır. bağımsız değişkeni, version sütunun özgün değerine göre sütunun içerdiği verilerin durumunu açıklar. özelliği, RowState tüm satırın üst DataTableöğesine göre durumunu açıklar.

özelliğini ayarladığınızda, olayda ColumnChanging bir özel durum oluşursa bir özel durum oluşturulur.

Bu hemen bir düzenlemeyse, oluşturulabilecek özel durumlar için bkz EndEdit .

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Item[String, DataRowVersion]

Kaynak:
DataRow.cs
Kaynak:
DataRow.cs
Kaynak:
DataRow.cs

Adlandırılmış sütunda depolanan verilerin belirtilen sürümünü alır.

C#
public object this[string columnName, System.Data.DataRowVersion version] { get; }

Parametreler

columnName
String

Sütunun adı.

version
DataRowVersion

DataRowVersion İstediğiniz satır sürümünü belirten değerlerden biri. Olası değerler , Original, Currentve ProposeddeğerleridirDefault.

Özellik Değeri

Object Verileri içeren bir.

Özel durumlar

tarafından columnName belirtilen sütun bulunamıyor.

Değerin ve sütunun veri türleri eşleşmiyor.

Satırda bu sürümde veri yoktur.

Örnekler

Aşağıdaki örnek, bir denetimin tıklanan hücresinde DataGrid verilerin geçerli sürümünü alır.

C#
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]);
}

Açıklamalar

Sürüm özelliğiyle RowState karıştırılmamalıdır. bağımsız değişkeni, version sütunun özgün değerine göre sütunun içerdiği verilerin durumunu açıklar. özelliği, RowState tüm satırın üst DataTableöğesine göre durumunu açıklar.

özelliğini ayarladığınızda, olayda ColumnChanging bir özel durum oluşursa bir özel durum oluşturulur.

Bu hemen bir düzenlemeyse, oluşturulabilecek özel durumlar için bkz EndEdit .

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1