Di bawah asp.net 2.0, tampilan grid sangat nyaman. Jika Anda menambahkan kontrol seri DATASOURCE, Anda dapat langsung mengikatnya ke tampilan grid, yang sangat nyaman. Namun kenyataannya, Anda juga dapat menggunakan datatable atau dataview. Saat ini, Anda tidak akan menggunakan kontrol rangkaian sumber data. Mari kita bicara tentang bagaimana mewujudkan pembalikan halaman dan pengurutan setiap kolom dalam kontrol tampilan kisi di bawah asp.net 2.0.
Fungsi pengeditan.
Pertama, kita membaca tabel karyawan di database northwind. Setelah menempatkan gridview, tambahkan beberapa kolom terikat, kodenya sebagai berikut
<asp:GridView ID="GridView1" runat="server" AllowPaging="Benar" AllowSorting="Benar"
AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="Tidak Ada"
Lebar = "100%" DataKeyNames = "EmployeeID" OnPageIndexChanging = "GridView1_PageIndexChanging" OnRowEditing = "GridView1_RowEditing" OnRowUpdating = "GridView1_RowUpdating" OnSorting = "GridView1_Sorting" PageSize = "3" OnRowCancelingEdit = "GridView1_RowCancelingEdit" OnRowCommand = "G ridView1_RowCommand">
<FooterStyle BackColor="#990000" Font-Bold="Benar" ForeColor="Putih" />
<Kolom>
<asp:BoundField DataField="employeeid" HeaderText="Employee ID" ReadOnly="True" />
<asp:BoundField DataField="nama depan" HeaderText="Nama Depan" SortExpression="nama depan" />
<asp:BoundField DataField="nama belakang" HeaderText="Nama Belakang" SortExpression="nama belakang" />
<asp:CommandField ShowEditButton="Benar" />
</Kolom>
<RowStyle BackColor="#FFFFD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Angkatan Laut" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Tengah" />
<HeaderStyle BackColor="#990000" Font-Bold="Benar" ForeColor="Putih" />
<AlternatingRowStyle BackColor="Putih" />
</asp:GridView>
Pertama, kita perlu mengimplementasikan paging, menyetel AllowPaging ke true, dan menyetel jumlah item paging per halaman, dan terakhir menuliskannya di belakang kode
dilindungi kekosongan GridView1_PageIndexChanging (pengirim objek, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
BindGrid();
}
Untuk mencapai penyortiran klik otomatis setiap kolom, Anda dapat menyetelalloworting=true, lalu menyetel OnSorting="GridView1_Sorting", di mana gridview_sorting
Kodenya adalah
dilindungi kekosongan GridView1_Sorting(pengirim objek, GridViewSortEventArgs e)
{
ViewState["sortexpression"] = e.SortExpression;
if (ViewState["sortdirection"] == null)
{
ViewState["sortdirection"] = "asc";
}
kalau tidak
{
if (ViewState["sortdirection"].ToString() == "asc")
{
ViewState["sortdirection"] = "desc";
}
kalau tidak
{
ViewState["sortdirection"] = "asc";
}
}
BindGrid();
}
Tentunya mengatur viewsate untuk menyimpan urutan setiap pengurutan, saya yakin hal di atas mudah untuk dipahami.
Terakhir, fungsi pengeditan diimplementasikan, karena OnRowEditing="GridView1_RowEditing" telah disetel di halaman aspx, dan kode GridView1_RowEditing adalah
dilindungi kekosongan GridView1_RowUpdating(pengirim objek, GridViewUpdateEventArgs e)
{
ke dalam empid;
string nama f, nama l;
empid = int.Parse(GridView1.Rows[e.RowIndex].Cells[0].Text);
fname = ((Kotak Teks)GridView1.Rows[e.RowIndex].Sel[1].Kontrol[0]).Teks;
lname = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
SqlConnection cnn = new SqlConnection(@"data source=localhost;initial catalog=northwind;user id=sa ;kata sandi=123456");
cnn.Buka();
SqlCommand cmd = new SqlCommand("perbarui set karyawan firstname=@fname,lastname=@lname karyawan Whereid=@empid ", cnn);
cmd.Parameters.Add(new SqlParameter("@fname",fname));
cmd.Parameters.Add(new SqlParameter("@lname", lname));
cmd.Parameters.Add(new SqlParameter("@empid", empid));
cmd.ExecuteNonQuery();
cnn.Tutup();
GridView1.EditIndex = -1;
BindGrid();
}
dilindungi kekosongan GridView1_RowEditing(pengirim objek, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
BindGrid();
}
protected void GridView1_RowCancelingEdit(pengirim objek, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
BindGrid();
}
Seperti yang Anda lihat, kode di atas sebenarnya sama dengan asp.net versi 1.1. Terakhir, proses bindgrid() sangat sederhana, yaitu mengikat
Kumpulan Data ds = Kumpulan Data baru();
SqlDataAdapter da = new SqlDataAdapter("pilih * dari karyawan", @"sumber data=localhost;katalog awal=northwind;id pengguna=sa;kata sandi=123456");
da.Isi(ds,"karyawan");
DataView dv = ds.Tables[0].DefaultView;
if (ViewState["sortexpression"] != null)
{
dv.Sort = ViewState["sortexpression"].ToString() + " " + ViewState["sortdirection"].ToString();
}
GridView1.DataSource=dv;
GridView1.DataBind();
Di sini tampilan grid terikat ke tampilan data, dan dv.sort digunakan untuk mengatur urutan setiap pengurutan.
Tentu saja yang terakhir adalah event page_load.
dilindungi kekosongan Page_Load (pengirim objek, EventArgs e)
{
jika(!IsPostBack)
{
BindGrid();
}
}