500 likes | 639 Views
DataList. DataList. 不支援分頁 不支援資料編修 其餘功能與 DataGrid 類似. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. DataList. 顯示不出資料 與 DataGrid 不同. DataList. DataList.
E N D
DataList • 不支援分頁 • 不支援資料編修 • 其餘功能與DataGrid類似
DataList 顯示不出資料 與DataGrid不同
DataList <%# DataBinder.Eval(Container.DataItem,"CustomerID")%> 要顯示的欄位名稱
DataList • private void Page_Load(object sender, System.EventArgs e) • { • // 在這裡放置使用者程式碼以初始化網頁 • sqlDataAdapter1.Fill(dataSet31); • if(!IsPostBack) • { • ViewState["CurrentPage"]=1;//設定目前瀏覽第一頁 • ViewState[“PageSize”]=10;//預設一次瀏覽五筆 • BindData(); • } • }
DataList • public void BindData() • { • int TotalRecord,PageCount; • //計算總筆數 • TotalRecord = dataSet31.Tables["Orders"].Rows.Count; • ViewState["TotalRecord"] = TotalRecord; • tot_count.Text = "總筆數:" + TotalRecord.ToString(); • //計算總頁數 • PageCount = (TotalRecord-1) / Convert.ToInt32(ViewState["PageSize"]) +1; • ViewState["PageCount"]=PageCount; • tot_page.Text = "總頁數:" + ViewState["PageCount"].ToString(); • ….接後頁
DataList • //清空下拉頁數選單 • pagelist.Items.Clear(); • for(int i=1;i<=PageCount;i++) • { • ListItem lipage=new ListItem(Convert.ToString(i),Convert.ToString(i)); • pagelist.Items.Add(lipage); • } • if(TotalRecord > 0) • { • PagedDataSource pds=new PagedDataSource(); • pds.DataSource=dataSet31.Tables["Orders"].DefaultView; • pds.AllowPaging=true; • pds.PageSize=Convert.ToInt32(ViewState["PageSize"]); • pds.CurrentPageIndex=Convert.ToInt32(ViewState["CurrentPage"])-1; • DataList1.DataSource = pds; • DataList1.DataBind(); • } • }
DataList 下拉
DataList • private void pagelist_SelectedIndexChanged(object sender, System.EventArgs e) • { • ViewState["CurrentPage"]=pagelist.SelectedItem.Value; • BindData(); • }
DataList • private void TextBox1_TextChanged(object sender, System.EventArgs e) • { • ViewState["PageSize"]=Convert.ToInt16(TextBox1.Text); • BindData(); • }
DataList • 傳統按鈕跳頁方式 • private void top_page_Click(object sender, System.EventArgs e) • { • // 首頁 • ViewState["CurrentPage"] = 1; • BindData(); • }
DataList • private void next_page_Click(object sender, System.EventArgs e) • { • int CurrentPage,PageCount; • //下一頁 • CurrentPage = (int)ViewState["CurrentPage"]; • PageCount = (int)ViewState["PageCount"]; • if(CurrentPage<PageCount) CurrentPage++; • ViewState["CurrentPage"] = CurrentPage; • BindData(); • }
DataList • private void pre_page_Click(object sender, System.EventArgs e) • { • int CurrentPage; • //前一頁 • CurrentPage = (int)ViewState["CurrentPage"]; • if(CurrentPage>1) CurrentPage--; • ViewState["CurrentPage"] = CurrentPage; • BindData(); • }
DataList • private void last_page_Click(object sender, System.EventArgs e) • { • int PageCount; • PageCount = (int)ViewState["PageCount"]; • // 末頁 • ViewState["CurrentPage"] = PageCount; • BindData(); • }
DataList 使用commandname方式跳頁
DataList 設定jump_page事件
private void jump_page(object sender, System.Web.UI.WebControls.CommandEventArgs e) • { • int CurrentPage,PageCount; • CurrentPage = (int)ViewState["CurrentPage"]; • PageCount = (int)ViewState["PageCount"]; • //按首上下末頁時 • switch(e.CommandName) • { • case "pre": • if(CurrentPage>1) • CurrentPage--; • break; • case "next": • if(CurrentPage<PageCount) • CurrentPage++; • break; • case "top": • CurrentPage = 1; • break; • case "lst": • CurrentPage = PageCount; • break; • } • ViewState["CurrentPage"] = CurrentPage; • BindData(); • }
新增/修改 • private void Button6_Click(object sender, System.EventArgs e) • { • // 修改 • SqlDataAdapter da=new SqlDataAdapter("update employees set lastname='" + TextBox3.Text + "' where employeeid=" + Convert.ToInt32(TextBox2.Text),sqlConnection1); • da.Fill(dataSet21,"employees"); • sqlDataAdapter1.Fill(dataSet21); • DataList1.DataBind(); • BindData(); • }