Saya telah membuat tabel data. Tabel tersebut memiliki 3 kolom id_produk, nama_produk dan harga_produk.
Datatable table= new DataTable("Product");
table.Columns.Add("Product_id", typeof(int));
table.Columns.Add("Product_name", typeof(string));
table.Columns.Add("Product_price", typeof(string));
table.Rows.Add(1, "abc", "100");
table.Rows.Add(2, "xyz", "200");
Sekarang saya ingin mencari berdasarkan indeks, dan memperbarui baris itu.
katakanlah misalnya
Saya ingin mengubah nilai kolom Product_name menjadi "cde" yang memiliki nilai kolom Product_id: 2.
Pertama, Anda perlu mencari baris dengan id == 2 kemudian mengubah namanya jadi:
foreach(DataRow dr in table.Rows) // search whole table
{
if(dr["Product_id"] == 2) // if id==2
{
dr["Product_name"] = "cde"; //change the name
//break; break or not depending on you
}
}
Anda juga bisa mencoba solusi ini:
table.Rows[1]["Product_name"] = "cde" // not recommended as it selects 2nd row as I know that it has id 2
Atau:
DataRow dr = table.Select("Product_id=2").FirstOrDefault(); // finds all rows with id==2 and selects first or null if haven't found any
if(dr != null)
{
dr["Product_name"] = "cde"; //changes the Product_name
}
Anda bisa melintasi DataTable seperti di bawah ini dan menetapkan nilai
foreach(DataTable thisTable in dataSet.Tables)
{
foreach(DataRow row in thisTable.Rows)
{
row["Product_name"] = "cde";
}
}
ATAU
thisTable.Rows[1]["Product_name"] = "cde";
Semoga ini membantu