DataGrid部分功能实现

//DataGrid_1.aspx
**************************************************************************
< body  MS_POSITIONING ="GridLayout" >
        
< form  id ="Form1"  method ="post"  runat ="server" >
            
< asp:datagrid  id ="Dg1"  style ="Z-INDEX: 101; LEFT: 7px; POSITION: absolute; TOP: 8px"  runat ="server"
                HeaderStyle-HorizontalAlign
="Center"  HeaderStyle-Font-Bold ="True"  HeaderStyle-BackColor ="#6699cc"
                AutoGenerateColumns
="false"  ItemStyle-HorizontalAlign ="Center" >
                
< Columns >
                    
< asp:EditCommandColumn  HeaderText ="编辑"  EditText ="编辑"  CancelText ="取消"  UpdateText ="更新"  ItemStyle-Width ="100" ></ asp:EditCommandColumn >
                    
< asp:ButtonColumn  HeaderText ="删除"  ButtonType ="LinkButton"  Text ="删除"  CommandName ="Delete"  ItemStyle-Width ="60" ></ asp:ButtonColumn >
                    
< asp:BoundColumn  ReadOnly ="True"  HeaderText ="用户编号"  DataField ="customerid" ></ asp:BoundColumn >
                    
< asp:BoundColumn  DataField ="companyname"  HeaderText ="公司名" ></ asp:BoundColumn >
                    
< asp:BoundColumn  DataField ="contactname"  HeaderText ="联系名" ></ asp:BoundColumn >
                
</ Columns >
            
</ asp:datagrid >
            
< asp:Label  id ="Label1"  style ="Z-INDEX: 102; LEFT: 14px; POSITION: absolute; TOP: 237px"  runat ="server" > Label </ asp:Label ></ form >
    
</ body >
//DataGrid_1.aspx.cs
**************************************************************************
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;
using  System.Configuration;
using  DBF_Center;
namespace  TestCenter
{
    
/// <summary>
    
/// *******************************DataGrid全部功能实现****************************************
    
/// </summary>

    public class DataGrid_1 : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.Label Label1;
        
protected System.Web.UI.WebControls.DataGrid Dg1;

    
        
/// <summary>
        
/// 数据邦定函数
        
/// </summary>
        
/// <param name="sortField">用于排序的字段</param>

        public void BindGrid(string sortField)
        
{
            
//连接数据库,填充DataSet
            string constr=System.Configuration.ConfigurationSettings.AppSettings["Connectstring"];
            SqlConnection conn
=new SqlConnection(constr);
            
string commstr="select customerid,companyname,contactname from customer";            
            SqlDataAdapter ad
=new SqlDataAdapter(commstr,conn);
            DataSet dst
=new DataSet();
            ad.Fill(dst);
            
//string pd_a="select * from newstype order by t_id desc";
            DataView source=new DataView(dst.Tables[0]);
            source.Sort
=sortField;
            Dg1.DataSource
=source;
            Dg1.DataBind();
        }

        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
if(!IsPostBack)
            
{
            
this.BindGrid("customerid");//数据邦定,按customerid排序
            }


            Dg1.PagerStyle.Mode
=PagerMode.NumericPages;//显示默认的页码为数字

            
/*
             * 以上下页的形式显示页码
            Dg1.PagerStyle.Mode=PagerMode.NextPrev;
            Dg1.PagerStyle.NextPageText="下一页";
            Dg1.PagerStyle.PrevPageText="上一页";
            
*/
            
            Dg1.PagerStyle.Position
=0;//显示起始页码
            Dg1.PagerStyle.PageButtonCount=10;//显示显示页数
            Dg1.PagerStyle.Visible=true;//显示默认页码数
            Dg1.PageSize=6;//每页显示信息数
            Dg1.AllowPaging=true;
            Dg1.AllowSorting
=true;
            Dg1.AutoGenerateColumns
=false;
        }


        
Web 窗体设计器生成的代码

        
//实现自动排序
        private void Sort_Grid(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
        
{
            
this.BindGrid((string)e.SortExpression);
        }


        
//编辑按钮的实现
        private void Edit_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            Dg1.EditItemIndex
=e.Item.ItemIndex;
            
this.BindGrid("customerid");
        }


        
//取消按钮的实现
        private void Cancel_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            Dg1.EditItemIndex
=-1;
            
this.BindGrid("customerid");
        }


        
//更新数据
        private void Update_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            TextBox C_name
=(TextBox)e.Item.Cells[3].Controls[0];
            
//TextBox C_nid=(TextBox)e.Item.Cells[2].Controls[0];
            TextBox C_cname=(TextBox)e.Item.Cells[4].Controls[0];
            
string C_id=e.Item.Cells[2].Text.ToString();            
            
if(C_name.Text.ToString()=="")
            
{
                    Response.Write(
"<script LANGUAGE='javascript'>alert('请输入确认输入正确!');history.go(-1);</script>");
            }

            
else
            
{
                
string up_sql="update customer set Companyname='"+C_name.Text.ToString()+"',contactname='"+C_cname.Text.ToString()+"'  where customerid='"+C_id+"'";
                dbcontrol.ExecuteSql(up_sql);    
                Label1.Text
=up_sql;
            }
    
            Dg1.EditItemIndex
=-1;
            
this.BindGrid("customerid");
        }


        
//自动分页
        private void Pager_Grid(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        
{
            Dg1.CurrentPageIndex
=e.NewPageIndex;
            BindGrid(
"customerid");
        }


        
//Item事件
        private void ItemCreate_Grid(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem||e.Item.ItemType==ListItemType.Item)
            
{
                LinkButton btnDel
=(LinkButton)e.Item.Cells[1].Controls[0];
                btnDel.Attributes.Add(
"onClick","JavaScript:return confirm('确认要删除此行的信息?')");
                btnDel.Text
="删除";
            }

        }


        
//执行删除
        private void Delete_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            
string del_sql="delete from customer where customerid='"+e.Item.Cells[2].Text+"'";
            dbcontrol.ExecuteSql(del_sql);
            Dg1.EditItemIndex
=-1;
            BindGrid(
"customerid");
        }


        
//行随鼠标移动变色
        private void ItemBound_Grid(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            
{
                e.Item.Attributes.Add(
"onmouseover","this.style.backgroundColor='#fafafa'");
                e.Item.Attributes.Add(
"onmouseout","this.style.backgroundColor='white'");
            }
        
        }

    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值