// 1、绑定.... private voidmyGridBind() ... { .......; DataView dv = new DataView(ds.Tables[0]); dv.Sort = Sortfield.Value; //设置排序处理 int iRowCountNum = dv.Count; myDataGrid.DataSource = dv; myDataGrid.DataBind(); ShowStatsPage(iRowCountNum); } // 2、表格下面的信息显示,如: 第几页、共几条数据等等... public void ShowStatsPage( int iRowCountNum) ... { int iCurrentPageNum; int iPageCountNum; iCurrentPageNum=myDataGrid.CurrentPageIndex+1; iPageCountNum=myDataGrid.PageCount; Label_StatsPage.Text="第"+iCurrentPageNum.ToString()+"/"+iPageCountNum.ToString()+"页 共"+iRowCountNum.ToString()+"条记录"; } // 3、处理按钮翻页的动作事件 public void PagerButtonClick( object source,System.EventArgs e) ... { string strArg=((LinkButton)source).CommandArgument; switch(strArg) ...{ case "first": //首页 myDataGrid.CurrentPageIndex = 0; break; case "prev": //上一页 if(myDataGrid.CurrentPageIndex > 0) myDataGrid.CurrentPageIndex = myDataGrid.CurrentPageIndex - 1; break; case "next": //下一页 if(myDataGrid.CurrentPageIndex < myDataGrid.PageCount - 1) myDataGrid.CurrentPageIndex = myDataGrid.CurrentPageIndex + 1; break; case "last": //最后 myDataGrid.CurrentPageIndex = myDataGrid.PageCount - 1; break; default: break; } myGridBind(); } // 4、自选页数的跳转按钮事件: private void Button_go_Click( object sender, System.EventArgs e) ... { int iGoPage; string sGoPage=TextBox_GoPage.Text.Trim(); if(sGoPage=="") return; try ...{ iGoPage=int.Parse(sGoPage) - 1; } catch(Exception ex) ...{ Response.Write("<script>alert('"+ex.Message+"');</script>"); return; } if(iGoPage >=0 && iGoPage < myDataGrid.PageCount) ...{ myDataGrid.CurrentPageIndex = iGoPage; } else ...{ Response.Write("<script>alert('输入了错误的页数!');</script>"); return; } myGridBind(); } // 5、datagrid的鼠标移动颜色的变化 private void myDataGrid_ItemDataBound( object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) ... { if(e.Item.ItemType==ListItemType.Item ||e.Item.ItemType==ListItemType.AlternatingItem) ...{ e.Item.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#e6e6fa';"); e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=c;"); } } // 6、datagrid的排列 private void myDataGrid_SortCommand( object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) ... { if(Sortfield.Value.IndexOf("desc") == -1) ...{ Sortfield.Value = e.SortExpression + " desc"; } else ...{ Sortfield.Value = e.SortExpression + " asc"; } myGridBind(); } // 添加一段datagrid的自动显示序列的效果,从1开始 myDataGrid_ItemDataBound代码下:实现序号自加从1开始 if (e.Item.ItemIndex != - 1 ) ... { int n = e.Item.ItemIndex + 1; e.Item.Cells[n].Text = n.ToString(); //在n列处显示序号 }