流渊的专栏

我的IT人生能走多远.....要好好珍惜......

个人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列处显示序号
            }
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/W3031213101/article/details/1817231
个人分类: asp.net类
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

个人datagrid的小结

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭