Jika DataGrid memiliki fungsi paging dan pengurutan, harap perhatikan bahwa saat mengikat ulang sumber data, MyDataGrid.CurrentPageIndex=0;
Berikut ini adalah kode asli untuk mengimplementasikan fungsi-fungsi di atas, sehingga tidak akan ada modifikasi lagi. aspx berisi DataGrid dan dropdownlist yang mengontrol perubahan pada sumber datanya.
Kode DataGrid
<asp:datagrid id="MyDataGrid" runat="server" BorderColor="#CCCCCC" Font-Size="100%" HorizontalAlign="Tengah"
AutoGenerateColumns="False" OnDeleteCommand="MyDataGrid_Delete" OnSortCommand="Sort_Grid" OnPageIndexChanged="MyDataGrid_PageIndexChanged"
DataKeyField="ACC_NO" PagerStyle-Position="Bawah" PagerStyle-HorizontalAlign="Tengah" PagerStyle-Mode="NextPrev"
PageSize="10" AllowSorting="Benar" AllowPaging="Benar" CellPadding="4" Lebar="100%">
<AlternatingItemStyle BackColor="#E9E9E6"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" Wrap="False" ForeColor="Putih" BackColor="#999999"></HeaderStyle>
<Kolom>
<asp:ButtonColumn Text="口" CommandName="Hapus"></asp:ButtonColumn>
<asp:BoundColumn DataField="NO" SortExpression="NO" ReadOnly="True" HeaderText="Nomor Seri"></asp:BoundColumn>
<asp:BoundColumn DataField="ID" SortExpression="ID" HeaderText="ID"></asp:BoundColumn>
<asp:BoundColumn DataField="NAME" SortExpression="NAME" HeaderText="name"></asp:BoundColumn>
<asp:BoundColumn DataField="C_NAME" SortExpression="C_NAME" HeaderText="Nama setiap subjek"></asp:BoundColumn>
<asp:BoundColumn DataField="FLG" SortExpression="FLG" HeaderText="item"></asp:BoundColumn>
</Kolom>
<PagerStyle NextPageText="10 item berikutnya" PrevPageText="Kembali" HorizontalAlign="Center"></PagerStyle>
</asp:datagrid>
kode daftar dropdown
<asp:dropdownlist id="ddlWk" Runat="server" AutoPostBack="Benar" Diaktifkan="Salah">
<asp:ListItem Value="0">Tokyo</asp:ListItem>
<asp:ListItem Value="3">Jiuzhou</asp:ListItem>
<asp:ListItem Value="8">Hokkaido</asp:ListItem>
<asp:ListItem Value="9">Shikoku</asp:ListItem>
</asp:daftar tarik-turun>
Kode inti file aspx.cs adalah sebagai berikut:
private void Page_Load(pengirim objek, System.EventArgs e)
{
jika(!IsPostBack)
{
Sesi["WP"]="0";
ddlWk_getS();
BindGrid();
}
}
kekosongan pribadi ddlWk_getS()
{
beralih (Sesi["WP"].ToString())
{
kasus "0":ddlWk.SelectedIndex=0;
merusak;
kasus "3":ddlWk.SelectedIndex=1;
merusak;
kasus "8":ddlWk.SelectedIndex=2;
merusak;
kasus "9":ddlWk.SelectedIndex=3;
merusak;
default:ddlWk.SelectedIndex=0;
merusak;
}
}
kekosongan yang dilindungi BindGrid()
{
MyDataGrid.DataSource=GetData().Tables["vCO"].DefaultView;
MyDataGrid.DataBind();
//COUNT.Teks=MyDataGrid.Columns.Count.ToString();
}
/// <ringkasan>
/// Mengembalikan Data
/// </ringkasan>
///<pengembalian></pengembalian>
Kumpulan Data pribadi GetData()
{
string strConn=(String) ((NameValueCollection) Konteks.GetConfig("system.web/database"))["strConn"];
menggunakan (SqlConnection samb = SqlConnection baru(strConn))
{
SqlCommand cmd = new SqlCommand("sp_C",sambungan);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@place",SqlDbType.VarChar,2);
cmd.Parameter["@place"].Value=Sesi["WP"].ToString();
samb.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand=cmd;
Kumpulan Data ds=Set Data baru();
da.Isi(ds,"vCO");
Count.Text="ヒット:"+ds.Tables["vCO"].Rows.Count.ToString()+"potongan";
kembali ds;
}
}
/// <ringkasan>
///Bagi satu dari DataSet
/// </ringkasan>
/// <param nama="pengirim"></param>
/// <param nama="E"></param>
dilindungi kekosongan MyDataGrid_Delete(Pengirim objek, DataGridCommandEventArgs E)
{
String strID=MyDataGrid.DataKeys[(int)E.Item.ItemIndex].ToString();
//operasi penghapusan
}
/// <ringkasan>
/// Operasi paging
/// </ringkasan>
/// <param nama="pengirim"></param>
/// <param nama="e"></param>
dilindungi kekosongan MyDataGrid_PageIndexChanged(sumber objek, DataGridPageChangedEventArgs e)
{
MyDataGrid.CurrentPageIndex=e.NewPageIndex;
BindGrid();
}
/// <ringkasan>
/// Urutkan
/// </ringkasan>
/// <param nama="pengirim"></param>
/// <param nama="e"></param>
void yang dilindungi Sort_Grid(pengirim objek, DataGridSortCommandEventArgs e)
{
DataView dv= DataView baru(GetData().Tables["vCO"]);
dv.Sort= e.SortExpression.ToString();
MyDataGrid.DataSource=dv;
MyDataGrid.DataBind();
}
#region Penggantian web dilindungi void OnInit(EventArgs e)
{
// //
Inisialisasi Komponen();
base.OnInit(e);
}
/// <ringkasan> /// </ringkasan>
kekosongan pribadi InitializeComponent()
{
this.ddlWk.SelectedIndexChanged += Sistem baru.EventHandler(this.ddlWk_SelectedIndexChanged);
ini.Muat += Sistem baru.EventHandler(ini.Page_Load)
;
#endregion
private void ddlWk_SelectedIndexChanged(pengirim objek, System.EventArgs e)
{
Sesi["WP"]=ddlWk.SelectedValue;
MyDataGrid.CurrentPageIndex=0;//Tanpa kalimat ini, kesalahan akan terjadi ketika nomor halaman melebihi rentang sumber data lainnya
BindGrid();
Response.Write( "<script bahasa='javascript'>parent.menuframe.location.reload();</script>");
}