DataGrid实现多选(javascript)

using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.Data.SqlClient;

namespace  NewsSystem.Admin
{
    
/// <summary>
    
/// NewsManage 的摘要说明。
    
/// </summary>

    public class NewsManage : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.Button btnDelete;
        
protected System.Web.UI.WebControls.DropDownList ddlNewsType;
        
protected System.Web.UI.WebControls.DataGrid DataGrid1;
    
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
this.btnDelete.Attributes.Add("onclick""return confirmDelete (this.form);");

            
if(!IsPostBack)
            
{
                NewsTypeBind();
                NewsBind();
            }

        }


        
private void NewsBind()
        
{
            BBL.News bbl
=new BBL.News ();
            DataGrid1.DataSource
=bbl.SelectNews();
            DataGrid1.DataBind();
        }


        
private void NewsTypeBind()
        
{
            BBL.NewsType bbl
=new BBL.NewsType ();
            
this.ddlNewsType.DataTextField="NVC_NewTypeName";
            
this.ddlNewsType.DataValueField="INT_NewTypeID";
            
this.ddlNewsType.DataSource=bbl.GetNewsType();
            
this.ddlNewsType.DataBind();
            
        }



        
Web 窗体设计器生成的代码

        
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
if(e.Item.ItemType == ListItemType.Header)
            
{
                CheckBox chk 
= (CheckBox)e.Item.FindControl("chkAll");
                chk.Attributes.Add(
"onclick","javascript:return SelectAll(this.checked,this.id)");
            }

            
else if(e.Item.ItemType == ListItemType.Item)
            
{
                CheckBox chk 
= (CheckBox)e.Item.FindControl("chkDelete");
                chk.Attributes.Add(
"onclick","javascript:return SelectAll(this.checked,this.id)");
            }

            
if(e.Item .ItemType==ListItemType.Item ||e.Item .ItemType==ListItemType.AlternatingItem )
            
{
                e.Item .Attributes .Add (
"onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#ffffff'");
                e.Item .Attributes .Add (
"onmouseout","this.style.backgroundColor=c");
            }

        }


        
private void ddlNewsType_SelectedIndexChanged(object sender, System.EventArgs e)
        
{
            
int newsTypeID=Convert.ToInt32(ddlNewsType.SelectedItem.Value);
            BBL.News bbl
=new BBL.News ();
            DataSet ds
=bbl.GetTypeNews(newsTypeID);
            
this.DataGrid1.DataSource=ds;
            
this.DataGrid1.DataBind();
            
        }


        
private void btnDelete_Click(object sender, System.EventArgs e)
        
{
            System.Web.UI.WebControls.CheckBox chkExport;
            System.Collections.ArrayList oExArgs 
=new System.Collections.ArrayList();   
            
string newsID;   
            
string newsIDList="";
            
               
            
foreach(DataGridItem oDataGridItem in DataGrid1.Items)   
            
{
                chkExport 
=(CheckBox)oDataGridItem.FindControl("chkDelete"); 
                
if(chkExport.Checked)   
                

                    newsID
=((HtmlInputHidden)oDataGridItem.FindControl("SelectedID")).Value;
                    oExArgs.Add(newsID);
                }

            }

            
for(int i =0;i<oExArgs.Count;i++)   
            
{   
                newsIDList 
+=oExArgs[i] + ",";
            }

            newsIDList
=newsIDList.Remove(newsIDList.Length-1,1);
            BBL.News bbl
=new BBL.News ();
            bbl.DeleteNews(newsIDList);
            NewsBind();
            
//    Response.Write (newsIDList);
        }


        
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        
{
            
this.DataGrid1 .CurrentPageIndex=e.NewPageIndex ;
            NewsBind();
        }




    }

}

 

function  SelectAll (chkVal, idVal) { 
       
var  thisfrm  =  document.forms[ 0 ];
           
//  查找Forms里面所有的元素
            for  (i = 0 ; i < thisfrm.length; i ++ ) {
              
//  查找模板头中的CheckBox
               if  (idVal.indexOf ( ' chkAll ' !=   - 1 ) {
                  
if (chkVal  ==   true ) {
                     thisfrm.elements[i].checked 
=   true ;
                  } 
                  
else  {
                      thisfrm.elements[i].checked 
=   false ;
                  }
               } 
//  if
                //  如果除题头以外的项没有全选上则取消题头的选择
               else   if  (idVal.indexOf ( ' chkDelete ' !=   - 1 ) {
                  
if (thisfrm.elements[i].checked  ==   false ) {
                     thisfrm.elements[
1 ].checked  =   false
                  }
               }
           } 
//  for
        }
           
       
//  删除判断
function  confirmDelete (thisfrm) { 
           
for  (i = 0 ; i < thisfrm.length; i ++ ) {
              
if  (thisfrm.elements[i].name.indexOf( ' chkDelete ' !=- 1 ) {
                  
if (thisfrm.elements[i].checked) {
                     
return  confirm ( ' 你是否想要删除选择的记录? ' )
                  }
              }
            }
}

 

<% @ Page language="c#" Codebehind="NewsManage.aspx.cs" AutoEventWireup="false" Inherits="NewsSystem.Admin.NewsManage" responseEncoding="gb2312" %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
< HTML >
    
< HEAD >
        
< title > NewsManage </ title >
        
< meta  content ="Microsoft Visual Studio .NET 7.1"  name ="GENERATOR" >
        
< meta  content ="C#"  name ="CODE_LANGUAGE" >
        
< meta  content ="JavaScript"  name ="vs_defaultClientScript" >
        
< meta  content ="http://schemas.microsoft.com/intellisense/ie5"  name ="vs_targetSchema" >
        
< script  language ="javascript"  src ="/NewsSystem/js/admin/gd.js"  type ="text/Jscript" ></ script >
    
</ HEAD >
    
< body  MS_POSITIONING ="GridLayout" >
        
< form  id ="Form1"  method ="post"  runat ="server" >
            
< FONT  face ="宋体" >
                
< asp:DataGrid  id ="DataGrid1"  style ="Z-INDEX: 101; LEFT: 128px; POSITION: absolute; TOP: 48px"
                    runat
="server"  AutoGenerateColumns ="False"  AllowPaging ="True"  PageSize ="20" >
                    
< ItemStyle  BackColor ="WhiteSmoke" ></ ItemStyle >
                    
< HeaderStyle  BackColor ="#C0C0FF" ></ HeaderStyle >
                    
< Columns >
                        
< asp:BoundColumn  DataField ="INT_NewID"  HeaderText ="新闻编号" ></ asp:BoundColumn >
                        
< asp:HyperLinkColumn  DataNavigateUrlField ="INT_NewID"  DataNavigateUrlFormatString ="NewsView.aspx?NewsID={0}"
                            DataTextField
="NVC_NewTitle"  HeaderText ="新闻标题" ></ asp:HyperLinkColumn >
                        
< asp:BoundColumn  DataField ="NVC_NewTypeName"  HeaderText ="所属类别" ></ asp:BoundColumn >
                        
< asp:BoundColumn  DataField ="NVC_AddUser"  HeaderText ="添加人" ></ asp:BoundColumn >
                        
< asp:BoundColumn  DataField ="DAT_AddDateTime"  HeaderText ="发布时间" ></ asp:BoundColumn >
                        
< asp:HyperLinkColumn  Text ="评论"  DataNavigateUrlField ="INT_NewID"  DataNavigateUrlFormatString ="remark.aspx?INT_NewID={0}"
                            HeaderText
="评论" ></ asp:HyperLinkColumn >
                        
< asp:BoundColumn  DataField ="CHR_ISAuditing"  HeaderText ="是否审核" ></ asp:BoundColumn >
                        
< asp:TemplateColumn >
                            
< HeaderTemplate >
                                
< asp:CheckBox  id ="chkAll"  runat ="server" ></ asp:CheckBox >
                            
</ HeaderTemplate >
                            
< ItemTemplate >
                                
< INPUT  id =SelectedID  type =hidden  value ='<%#    DataBinder.Eval(Container.DataItem,"INT_NewID")% > ' name=SelectedID runat="server">
                                
< asp:CheckBox  id ="chkDelete"  runat ="server" ></ asp:CheckBox >
                            
</ ItemTemplate >
                        
</ asp:TemplateColumn >
                    
</ Columns >
                    
< PagerStyle  NextPageText ="下一页"  PrevPageText ="上一页"  BackColor ="White" ></ PagerStyle >
                
</ asp:DataGrid >
                
< asp:Button  id ="btnDelete"  style ="Z-INDEX: 102; LEFT: 312px; POSITION: absolute; TOP: 344px"
                    runat
="server"  Text ="删除" ></ asp:Button >
                
< asp:DropDownList  id ="ddlNewsType"  style ="Z-INDEX: 103; LEFT: 128px; POSITION: absolute; TOP: 16px"
                    runat
="server"  Width ="80px"  AutoPostBack ="True" >
                    
< asp:ListItem  Value ="全部" > 全部 </ asp:ListItem >
                
</ asp:DropDownList ></ FONT ></ form >
    
</ body >
</ HTML >

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值