System.Data.DataView CreateDataSourceByXianhuiMeng()
{
System.Data.DataTable dt=newSystem.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add(newSystem.Data.DataColumn("id",typeof(System.Int32)));
dt.Columns.Add(newSystem.Data.DataColumn("學生姓名",typeof(System.String)));
dt.Columns.Add(newSystem.Data.DataColumn("國文",typeof(System.Decimal)));
dt.Columns.Add(newSystem.Data.DataColumn("數學",typeof(System.Decimal)));
dt.Columns.Add(newSystem.Data.DataColumn("英語",typeof(System.Decimal)));
dt.Columns.Add(newSystem.Data.DataColumn("計算機",typeof(System.Decimal)));for(inti=1; i<30; i++)
{
System.Random rd=newSystem.Random(Environment.TickCount*i); ;
dr=dt.NewRow();
dr[0]=i;
dr[1]="【孟子E章】"+i.ToString();
dr[2]=System.Math.Round(rd.NextDouble()*100,2);
dr[3]=System.Math.Round(rd.NextDouble()*100,2);
dr[4]=System.Math.Round(rd.NextDouble()*100,2);
dr[5]=System.Math.Round(rd.NextDouble()*100,2);
dt.Rows.Add(dr);
}
System.Data.DataView dv=newSystem.Data.DataView(dt);returndv;
}
protectedvoidPage_Load(object sender, EventArgs e)
{if(Request.QueryString["id"]!=null)
{
Response.ClearContent();
GridView1.DataSource=CreateDataSourceByXianhuiMeng();
GridView1.DataBind();
System.Text.StringBuilder sb=newSystem.Text.StringBuilder();
System.IO.StringWriter sw=newSystem.IO.StringWriter(sb);
HtmlTextWriter htw=newHtmlTextWriter(sw);
Literal header=newLiteral();
header.Text="
項目"+Request.QueryString["id"]+"
";
Header.Controls.Add(header);
Header.RenderControl(htw);
GridView1.RenderControl(htw);
Response.Write("這裡查詢資料,輸出結果就可以了。結果:"+sb.ToString());
Response.End();
}
}/// 添加這個override void VerifyRenderingInServerForm(Control control),是為了避免出現/// 類型“GridView”的控件“GridView1”必須放在具有 runat=server 的窗體标記内。/// 的異常public overridevoidVerifyRenderingInServerForm(Control control)
{ }使用 AJAX,局部重新整理 GridView 進行資料綁定的簡單實作functionGetData(p) {
document.getElementById("d").innerHTML="正在讀取資料……";
h=window.XMLHttpRequest?newwindow.XMLHttpRequest() :newActiveXObject("MSXML2.XMLHTTP");
h.open("GET",'?id='+p.value,true);
h.onreadystatechange=function() {if(h.readyState==4) {if(h.status>=200&&h.status<300) {
document.getElementById("d").innerHTML=h.responseText;
}else{
document.getElementById("d").innerHTML="
資料操作錯誤:
"+h.responseText;
}
}
}
h.send(null);
}
alert("這個提示,隻出現在第一次打開頁面。");
項目一項目二