de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 folk
folk
Question

Bagaimana cara mengedit baris di datatable

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.

19 2013-10-28T07:59:53+00:00 3
 Oz123
Oz123
Pertanyaan edit 28 Oktober 2013 в 8:23
Pemrograman
datatable
c#
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
 Tafari
Tafari
28 Oktober 2013 в 8:14
2013-10-28T08:14:30+00:00
Lebih
Sumber
Sunting
#22639553

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
}
 Tafari
Tafari
Jawaban edit 18 Agustus 2015 в 6:38
57
0
Zahir Khan
Zahir Khan
28 Oktober 2013 в 8:16
2013-10-28T08:16:03+00:00
Lebih
Sumber
Sunting
#22639554

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

2
0
 Rahul
Rahul
28 Oktober 2013 в 8:18
2013-10-28T08:18:37+00:00
Lebih
Sumber
Sunting
#22639555

Coba ini saya juga tidak 100% yakin

        for( int i = 0 ;i< dt.Rows.Count; i++)
        {
           If(dt.Rows[i].Product_id == 2)
           {
              dt.Rows[i].Columns["Product_name"].ColumnName = "cde";
           }
        }
2
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
UbiBot UK
Terdaftar 15 jam yang lalu
2
Галина Утяшова
Terdaftar 1 hari yang lalu
3
Asilbek Qadamboyev
Terdaftar 4 hari yang lalu
4
Akshit Mehta
Terdaftar 1 minggu yang lalu
5
me you
Terdaftar 1 minggu yang lalu
ID
JA
RU
TR
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi