Jquery实现Gridview全选功能,用最少的代码实现Gridview全选功能,提供服务端事件和客户端事件。网络已经有很多种方法实现该功能,希望这个方法能对大家有些帮助,同时也是对自己的一种学习记录。

1.首先要引用Jquery库脚本,我在开发的时候使用的网络版,https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

如果自己开发需要可以下载到项目中,然后在引用页是一样可以的。

Jquery实现Gridview全选功能

2.让GRIDVIEW解析的时候能够显示标准的TABLE结构,就是显示THEAD,TBODY,TFOOT这三个标签,在PreRender事件中设置

 UseAccessibleHeader = true,同时让GridView1.HeaderRow.TableSection = TableRowSection.TableHeader,GridView1.FooterRow.TableSection = TableRowSection.TableFooter;这样GRIDVIEW在解析成HTML后就能按标准TABLE显示。

>

 

 

后台代码:

 

代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace SwireBev.Framework {
    
public partial class JqueryGridView : System.Web.UI.Page {
        
protected void Page_Load(object sender, EventArgs e)
        {
            
if (!Page.IsPostBack)
            {
                
this.GridView1.DataSource = GetProducts();
                
this.GridView1.DataBind();
            }
        }
        
private ProductCollection GetProducts()
        {
            ProductCollection _pc 
= new ProductCollection();
            
for (int i = 1; i < 15; i++)
            {
                _pc.Add(
                    
new Product { id = i.ToString(), categoryid = i.ToString(), createtime = System.DateTime.Now.ToString(),
                    productid 
= i.ToString(), productname = i.ToString() }
                    );
            }
            
return _pc;

        }
        
protected void GridView1_PreRender(object sender, EventArgs e)
        {
            
this.GridView1.UseAccessibleHeader = true;
            
this.GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;
            
this.GridView1.FooterRow.TableSection = TableRowSection.TableFooter;
        }

        
protected void btnServer_Click(object sender, EventArgs e) {
            
this.txtResult.Text = string.Empty;
            
if (GridView1.Rows.Count > 0) {
                
foreach (GridViewRow row in GridView1.Rows) {
                    HtmlInputCheckBox _chkItem 
= (HtmlInputCheckBox)row.FindControl("chkItem");
                    
if (_chkItem != null&&_chkItem.Checked) {
                        
this.txtResult.Text +=_chkItem.Value+",";
                    }
                }
                
if (this.txtResult.Text.Length > 0) {
                    
this.txtResult.Text = this.txtResult.Text.Substring(0this.txtResult.Text.Length - 1);
                }
            }
        }
    }
    
public class ProductCollection : ICollection<Product>
    {
        List
<Product> _Products;
        
public ProductCollection()
        {
            _Products 
= new List<Product>();
        }
        
#region ICollection<Product> Members

        
public void Add(Product item)
        {
            _Products.Add(item);
        }

        
public void Clear()
        {
            _Products.Clear();
        }

        
public bool Contains(Product item)
        {
            
return _Products.Contains(item);
        }

        
public void CopyTo(Product[] array, int arrayIndex)
        {
            
throw new NotImplementedException();
        }

        
public int Count
        {
            
get { return _Products.Count; }
        }

        
public bool IsReadOnly
        {
            
get { return true; }
        }

        
public bool Remove(Product item)
        {
            
return _Products.Remove(item);
        }

        
#endregion

        
#region IEnumerable<Product> Members

        
public IEnumerator<Product> GetEnumerator()
        {
            
return _Products.GetEnumerator();
        }

        
#endregion

        
#region IEnumerable Members

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            
return _Products.GetEnumerator();
        }

        
#endregion
    }
    
public class Product
    {
        
public string id
        {
            
get;
            
set;
        }
        
public string productid
        {
            
get;
            
set;
        }
        
public string productname
        {
            
get;
            
set;
        }
        
public string categoryid
        {
            
get;
            
set;
        }
        
public string createtime
        {
            
get;
            
set;
        }
    }
}

相关文章: