Meskipun ASP.NET DataGrid terkenal sebagai kontrol tabel yang sangat baik, kami tidak bisa memuji fungsi pengeditan DataGrid. Mengambil fungsi pengiriman data DataGrid sebagai contoh, memang ada masalah besar: di DataGrid, setiap Untuk mengedit satu baris , Anda harus mengirimkan satu baris, yang disebut "pengeditan satu baris, pengiriman satu baris". Dalam hal ini, jika terlalu banyak baris yang diedit, operasi pengguna tidak hanya akan rumit, tetapi juga akan menyebabkan seringnya akses. ke server, sangat mengurangi efisiensi sistem.
Tentu saja ada solusi yang dibangkitkan, yaitu mentransfer konten yang akan diedit ke halaman lain dan mengeditnya di TextBox. Namun, jika dipikir-pikir dengan hati-hati, bukankah metode ini menipu diri sendiri? Selain itu, ketika kita mengedit di Grid, kita tidak bisa selalu menggunakan tombol Tab untuk berpindah antar Grid (TextBox). pemrogram membuang banyak energi untuk pengembangan.
Bagaimana cara mengatasi permasalahan di atas? Sekarang saya merekomendasikan kepada Anda DataGrid domestik yang saya gunakan: SmartGrid (dapat diunduh dari Sky Software Station: http://www.skycn.com/soft/23547.html Saya telah menggunakan kontrol ini sejak lama Sekarang mari kita bahas metode pengiriman multi-baris di SmartGrid: SmartGrid tidak memiliki kolom tombol di DataGrid. Sebaliknya, seluruh formulir hanya memiliki satu tombol kirim. Baik Anda mengubah satu baris atau beberapa baris, Anda dapat mengirimkan semuanya sekaligus , sebagai berikut Mari kita lihat beberapa contoh:
Contoh:
Gambar di atas adalah contoh pengeditan yang lebih baik. Contoh ini menunjukkan bahwa Anda dapat mengedit beberapa baris atau satu baris, lalu mengirimkannya secara bersamaan.
Kode:
Ubah kode tombol:
private void btonSave_Click(pengirim objek, System.EventArgs e)
{
this.DataGrid1.ReadOnly = false;//Masukkan pengeditan
this.DataGrid1.AllowAdd = true;//Izinkan menambahkan
this.DataGrid1.AllowDelete = true; //Izinkan penghapusan
}
Kode ini adalah atribut unik dari smartgrid. Anda dapat mengatur berbagai fungsi untuk menambah, menghapus, mengedit,
dan menyimpan kode tombol:
private void Button2_Click(pengirim objek, System.EventArgs e)
{
DataTable t = (DataTable)this.SmartGrid1.DataSource;
this.sqlDataAdapter1.Update(
t.Clear();
this.sqlDataAdapter1.Fill(t)
; .SmartGrid1.DataSource = t;
}
Ini untuk mengirimkan data ke database secara keseluruhan. Pendekatan ini cocok untuk data dalam jumlah besar.
Ada juga cara untuk mengirimkan data ke
kode server baris demi baris:
private void btonSave_Click(pengirim objek, System.EventArgs e)
{
DataTable tb=(DataTable)this.SmartGrid1.DataSource;
SqlParameter
[]
parameter
=new SqlParameter[5];
SqlParameter("@customerId", ""+dr[1]+"");
parameter
[1]=baru SqlParameter("@Namaperusahaan",""+dr[0]+"");
SqlParameter("@contactName", ""+dr[2]+"");
parameter
[3]=baru SqlParameter("@contactTitle",""+dr[3]+"");
SqlParameter("@address", ""+dr[4]+"");
//EamPd
adalah kelas. Execute adalah fungsi untuk mengeksekusi prosedur tersimpan
",parameter);
}
}