个人datagrid的小结

 

//     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列处显示序号
            }

你可能感兴趣的:(个人datagrid的小结)