Tambahkan kode javascript di head sebagai berikut:
<script lang=javascript>
function sel(i) // Jalankan setelah menggerakkan mouse ke atas
{
eval(i+".style.background='#CCCC66'"); // Mengubah warna baris
eval(i+".style.cursor='hand'"); // Saat mouse digerakkan ke atas, ia berubah menjadi bentuk tangan
}
function unsel(i) // Dieksekusi setelah mouse pergi
{
eval(i+".style.background=''");
}
fungsi kliktr(i)
{
eval(i+".style.background=''");
window.open("Edit.aspx?param="+i,"Modify","height=490,width=710,resizable=no,scrollbars=no,status=no,toolbar=no,
bilah menu=tidak,lokasi=tidak,kiri=50,atas=50");
}
</script>
Dalam peristiwa ItemDataBound DataGrid (terjadi saat data terikat):
private void DataGrid1_ItemDataBound(pengirim objek, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType != ListItemType.Header)
{
string ID = e.Item.Cells[0].Text; // Kolom pertama di sini adalah nilai ID dalam pengikatan data (untuk kemudahan meneruskan parameter di halaman yang dimodifikasi, jika ada beberapa parameter, Anda juga dapat menambahkannya sesuai kebutuhan!)
e.Item.Atribut.Tambahkan("id",ID);
e.Item.Attributes.Add("onmouseover","sel(" + ID+ ")");
e.Item.Attributes.Add("onmouseout", "unsel(" + ID+ ")");
e.Item.Attributes.Add("onclick", "clicktr(" + ID+")");
}
}
//**************************** Menyelesaikan******************* ***************************//
Namun, ada ketidaknyamanan dalam pendekatan di atas. Jika Anda menambahkan kolom templat ke DataGrid, itu dapat digunakan untuk menyediakan operasi pemilihan Menyediakan kepada pengguna (seperti menghapus pilihan),
Saat ini, menggunakan metode di atas akan menyebabkan jendela baru muncul setiap kali Anda memilih Kotak Centang (peristiwa onclick dipicu).
Solusi yang buruk:
ubah Atribut berbasis baris asli menjadi berbasis kolom kolom, semua Tambahkan atribut ke semua kolom.
Misalnya, jika templat tercantum di kolom 6, Anda dapat memodifikasi file cs seperti ini
private void DataGrid1_ItemDataBound(pengirim objek, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType != ListItemType.Header)
{
string bm = e.Item.Sel[0].Teks;
untuk(int i=0;i<5;i++)
{
e.Item.Sel[i].Attributes.Add("id","a"+i.ToString()+bm);
e.Item.Cells[i].Attributes.Add("onmouseover","sel(" +i.ToString()+","+ bm + ")");
e.Item.Cells[i].Attributes.Add("onmouseout", "unsel(" +i.ToString()+","+ bm + ")");
e.Item.Sel[i].Attributes.Add("onclick", "clicktr(" + bm +")");
}
}
}
Dalam kode javascript:
fungsi sel(i,ID)
{
untuk(var j=0;j<5;j++)
{ eval("a"+j.toString()+ID+".style.background='#CCCC66'"); eval("a"+j.toString()+ID+".style.cursor='tangan'" );
}
}
fungsi batalkan sel(i,ID)
{
untuk(var j=0;j<5;j++)
{ eval("a"+j.toString()+ID+".style.background=''");
}
}
fungsi kliktr(i)
{
untuk(var j=0;j<5;j++)
{
eval("a"+j.toString()+i+".style.background=''");
window.open("Edit.aspx?param="+i,"Modify","height=490,width=710,resizable=no,scrollbars=no,status=no,toolbar=no,
bilah menu=tidak,lokasi=tidak,kiri=50,atas=50");
}
}