DataGrid部分功能实现

来源:互联网 发布:天庭淘宝店有第二部吗 编辑:程序博客网 时间:2024/05/21 22:48
//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'");
            }
        
        }

    }

}

原创粉丝点击