DataGrid中绑定控件实例

 

主要实现在DataGrid中绑定全选删除的CheckBox控件.和上传控件..以及取值关键代码

 

using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Data.SqlClient;

namespace  WebService1
{
    
public partial class DataGridTest : System.Web.UI.Page
    
{
        
protected void Page_Load(object sender, EventArgs e)
        
{
            
//if (Session["name"] == null)
            
//{
            
//    Response.Redirect("登陆页面.aspx");
            
//}
            if (!Page.IsPostBack)
            
{
                
this.DataGridToBind();
            }


        }

        
public void DataGridToBind()
        
{

            SqlConnection con 
= new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
            SqlDataAdapter sda 
= new SqlDataAdapter("select * from admin",con);
            DataSet ds 
= new DataSet();
            sda.Fill(ds, 
"admin");
            
this.DataGrid1.DataKeyField = "userid";
            
this.DataGrid1.DataSource = ds;
            
this.DataGrid1.DataBind();
        }


        
protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
        
{
            
//编辑事件
            this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
            
this.DataGridToBind();

        }


        
protected void DataGrid1_CancelCommand(object source, DataGridCommandEventArgs e)
        
{
            
//取消事件
            this.DataGrid1.EditItemIndex = -1;
            
this.DataGridToBind();
        }


        
protected void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
        
{
            
//更新事件
            string id = this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
            
string name = ((TextBox)e.Item.Cells[3].Controls[0]).Text.Trim();
            
string pswd = ((TextBox)e.Item.Cells[4].Controls[0]).Text.Trim();
            FileUpload fu 
= ((FileUpload)e.Item.Cells[1].FindControl("FileUpload1"));//获取FileUpload控件
            Response.Write(fu.PostedFile.FileName);//打印出文件地址来
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
            con.Open();
            SqlCommand cmd 
= new SqlCommand("update admin set username='"+name+"',userpswd='"+pswd+"' where userid='"+id+"'",con);
            cmd.ExecuteNonQuery();
            
this.DataGrid1.EditItemIndex = -1;
            
this.DataGridToBind();
        }


        
protected void DataGrid1_DeleteCommand(object source, DataGridCommandEventArgs e)
        
{
            
//删除事件
            string id = this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
            SqlConnection con 
= new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
            con.Open();
            SqlCommand cmd 
= new SqlCommand("delete admin  where userid='" + id + "'", con);
            cmd.ExecuteNonQuery();
            
this.DataGrid1.EditItemIndex = -1;
            
this.DataGridToBind();
        }


        
protected void c1_CheckedChanged(object sender, EventArgs e)
        
{
            
//全选CheckBox
            foreach (DataGridItem gr in DataGrid1.Items)
            
{
                CheckBox c1 
= ((CheckBox)gr.FindControl("CheckBox1"));
                
                
if (c1.Checked==false)
                
{
                    c1.Checked 
= true;
                }

                
else
                
{
                    c1.Checked 
= false;
                }

            }

        }


        
protected void btndelete_Click(object sender, EventArgs e)
        
{
            
//删除选中项 
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
                    con.Open();
            
for (int i = 0; i <= DataGrid1.Items.Count - 1; i++)
            
{
                CheckBox c1 
= (CheckBox)DataGrid1.Items[i].FindControl("CheckBox1");
                
if (c1.Checked == true)
                
{

                    SqlCommand cmd 
= new SqlCommand("delete from admin  where userid='" + this.DataGrid1.DataKeys[i] + "'", con);
                    cmd.ExecuteNonQuery();
                   
                }



            }

                    
                    
this.DataGridToBind();
        }


    }

}

 

下面是前台代码

 

<% @ Page Language="C#" AutoEventWireup="true" CodeBehind="DataGridTest.aspx.cs" Inherits="WebService1.DataGridTest"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:DataGrid  ID ="DataGrid1"  runat ="server"  AutoGenerateColumns ="False"  Style ="left: 19px;
            position: relative; top: 22px"
 Width ="645px"  OnCancelCommand ="DataGrid1_CancelCommand"  OnDeleteCommand ="DataGrid1_DeleteCommand"  OnEditCommand ="DataGrid1_EditCommand"  OnUpdateCommand ="DataGrid1_UpdateCommand" >
            
< Columns >
                
< asp:TemplateColumn >
                    
< HeaderTemplate >
                        
< asp:CheckBox  ID ="c1"  runat ="server"  Style ="position: relative"  Text ="全选"  AutoPostBack ="True"  OnCheckedChanged ="c1_CheckedChanged"   />
                    
</ HeaderTemplate >
                    
< ItemTemplate >
                        
< asp:CheckBox  ID ="CheckBox1"  runat ="server"  Style ="position: relative"   />
                    
</ ItemTemplate >
                
</ asp:TemplateColumn >
                
< asp:TemplateColumn  HeaderText ="上传文件" >
                    
< ItemTemplate >
                        
< asp:FileUpload  ID ="FileUpload1"  runat ="server"  Style ="position: relative"   />
                    
</ ItemTemplate >
                
</ asp:TemplateColumn >
                
< asp:BoundColumn  DataField ="userid"  HeaderText ="编号"  ReadOnly ="True" ></ asp:BoundColumn >
                
< asp:BoundColumn  DataField ="userName"  HeaderText ="用户名" ></ asp:BoundColumn >
                
< asp:BoundColumn  DataField ="userpswd"  HeaderText ="密码" ></ asp:BoundColumn >
                
< asp:EditCommandColumn  CancelText ="取消"  EditText ="编辑"  HeaderText ="编辑"  UpdateText ="更新" >
                
</ asp:EditCommandColumn >
                
< asp:ButtonColumn  CommandName ="Delete"  HeaderText ="删除"  Text ="删除" ></ asp:ButtonColumn >
            
</ Columns >
        
</ asp:DataGrid > &nbsp; < asp:Button  ID ="btndelete"  runat ="server"  Height ="29px"  Style ="left: 11px;
            position: relative; top: 31px"
 Text ="删除"  Width ="98px"  OnClick ="btndelete_Click"   /></ div >
    
</ form >
</ body >
</ html >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值