เมื่อ DataGrid มีทั้งฟังก์ชันเพจและการเรียงลำดับ โปรดทราบว่าเมื่อเชื่อมโยงแหล่งข้อมูลใหม่ MyDataGrid.CurrentPageIndex=0;
ต่อไปนี้เป็นโค้ดต้นฉบับเพื่อใช้ฟังก์ชันข้างต้น ดังนั้นจะไม่มีการปรับเปลี่ยนอีกต่อไป aspx ประกอบด้วย DataGrid และรายการแบบเลื่อนลงที่ควบคุมการเปลี่ยนแปลงในแหล่งข้อมูล
รหัส DataGrid
<asp:datagrid id="MyDataGrid" runat="server" BorderColor="#CCCCCC" Font-Size="100%" VerticalAlign="Center"
AutoGenerateColumns = "เท็จ" OnDeleteCommand = "MyDataGrid_Delete" OnSortCommand = "Sort_Grid" OnPageIndexChanged = "MyDataGrid_PageIndexChanged"
DataKeyField = "ACC_NO" PagerStyle-Position = "ด้านล่าง" PagerStyle-HorizontalAlign = "กึ่งกลาง" PagerStyle-Mode = "NextPrev"
PageSize="10" AllowSorting="True" AllowPaging="True" CellPadding="4" width="100%">
<AlternatingItemStyle BackColor="#E9E9E6"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" Wrap="False" ForeColor="White" BackColor="#999999"></HeaderStyle>
<คอลัมน์>
<asp:ButtonColumn Text="口" CommandName="Delete"></asp:ButtonColumn>
<asp:BoundColumn DataField = "NO" SortExpression = " NO" ReadOnly = "True" HeaderText = "หมายเลขซีเรียล" ></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="ชื่อของแต่ละเรื่อง"></asp:BoundColumn>
<asp:BoundColumn DataField="FLG" SortExpression="FLG" HeaderText="item"></asp:BoundColumn>
</คอลัมน์>
<PagerStyle NextPageText="10 รายการถัดไป" PrevPageText="Return" HorizonAlign="Center"></PagerStyle>
</asp:datagrid>
รหัสรายการแบบเลื่อนลง
<asp:dropdownlist id="ddlWk" Runat="server" AutoPostBack="True" Enabled="False">
<asp:ListItem Value="0">โตเกียว</asp:ListItem>
<asp:ListItem Value="3">จิ่วโจว</asp:ListItem>
<asp:ListItem Value="8">ฮอกไกโด</asp:ListItem>
<asp:ListItem Value="9">ชิโกกุ</asp:ListItem>
</asp:รายการดรอปดาวน์>
รหัสหลักของไฟล์ aspx.cs เป็นดังนี้:
โมฆะส่วนตัว Page_Load (ผู้ส่งวัตถุ System.EventArgs e)
-
ถ้า(!IsPostBack)
-
เซสชัน["WP"]="0";
ddlWk_getS();
BindGrid();
-
-
โมฆะส่วนตัว ddlWk_getS()
-
สวิตช์ (เซสชัน ["WP"].ToString())
-
กรณี "0":ddlWk.SelectedIndex=0;
หยุดพัก;
กรณี "3":ddlWk.SelectedIndex=1;
หยุดพัก;
กรณี "8":ddlWk.SelectedIndex=2;
หยุดพัก;
กรณี "9":ddlWk.SelectedIndex=3;
หยุดพัก;
ค่าเริ่มต้น:ddlWk.SelectedIndex=0;
หยุดพัก;
-
-
ป้องกันโมฆะ BindGrid()
-
MyDataGrid.DataSource=GetData().Tables["vCO"].DefaultView;
MyDataGrid.DataBind();
//COUNT.Text=MyDataGrid.Columns.Count.ToString();
}
/// <สรุป>
/// ส่งคืนข้อมูล
/// </สรุป>
///<ส่งคืน></ส่งคืน>
ชุดข้อมูลส่วนตัว GetData()
-
string strConn=(String) ((NameValueCollection) Context.GetConfig("system.web/database"))["strConn"];
ใช้ (SqlConnection conn = SqlConnection ใหม่ (strConn))
-
SqlCommand cmd = ใหม่ SqlCommand("sp_C",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@place",SqlDbType.VarChar,2);
cmd.Parameters["@place"].Value=เซสชัน["WP"].ToString();
conn.Open();
SqlDataAdapter da = ใหม่ SqlDataAdapter();
da.SelectCommand=cmd;
ชุดข้อมูล ds=ชุดข้อมูลใหม่();
da.Fill(ds,"vCO");
Count.Text="ヒット:"+ds.Tables["vCO"].Rows.Count.ToString()+"pieces";
กลับds;
}
}
/// <สรุป>
///หารหนึ่งจากชุดข้อมูล
/// </สรุป>
/// <ชื่อพารามิเตอร์ = "ผู้ส่ง" ></ พารามิเตอร์>
/// <ชื่อพารามิเตอร์ = "E" ></ พารามิเตอร์>
ป้องกันโมฆะ MyDataGrid_Delete (ผู้ส่งวัตถุ DataGridCommandEventArgs E)
-
สตริง strID=MyDataGrid.DataKeys[(int)E.Item.ItemIndex].ToString();
//ลบการดำเนินการ
-
/// <สรุป>
/// การดำเนินการเพจ
/// </สรุป>
/// <ชื่อพารามิเตอร์ = "ผู้ส่ง" ></ พารามิเตอร์>
/// <ชื่อพารามิเตอร์ = "e" ></ พารามิเตอร์>
โมฆะที่ได้รับการป้องกัน MyDataGrid_PageIndexChanged (แหล่งที่มาของวัตถุ, DataGridPageChangedEventArgs e)
-
MyDataGrid.CurrentPageIndex=e.NewPageIndex;
BindGrid();
-
/// <สรุป>
/// เรียงลำดับ
/// </สรุป>
/// <ชื่อพารามิเตอร์ = "ผู้ส่ง" ></ พารามิเตอร์>
/// <ชื่อพารามิเตอร์ = "e" ></ พารามิเตอร์>
ป้องกันโมฆะ Sort_Grid (ผู้ส่งวัตถุ DataGridSortCommandEventArgs e)
-
DataView dv= DataView ใหม่(GetData().Tables["vCO"]);
dv.Sort= e.SortExpression.ToString();
MyDataGrid.DataSource=dv;
MyDataGrid.DataBind();
}
#region เว็บแทนที่การป้องกันเป็นโมฆะ OnInit (EventArgs e)
-
-
เตรียมใช้งานส่วนประกอบ();
ฐาน OnInit(e);
-
/// <สรุป> /// </สรุป>
โมฆะส่วนตัว InitializeComponent()
-
this.ddlWk.SelectedIndexChanged += System.EventHandler ใหม่ (this.ddlWk_SelectedIndexChanged);
this.Load += ใหม่ System.EventHandler(this.Page_Load);
}
#endregion
โมฆะส่วนตัว ddlWk_SelectedIndexChanged (ผู้ส่งวัตถุ System.EventArgs e)
-
เซสชัน ["WP"]=ddlWk.SelectedValue;
MyDataGrid.CurrentPageIndex=0;//หากไม่มีประโยคนี้ จะเกิดข้อผิดพลาดเมื่อหมายเลขหน้าเกินช่วงของแหล่งข้อมูลอื่น
BindGrid();
Response.Write( "<script language='javascript'>parent.menuframe.location.reload();</script>");
-