zoukankan      html  css  js  c++  java
  • 以较少代码实现DataGrid的排序,翻页,删除等功能 荣

    通过ASP.Net2.0中的母版、主题以及面向对象中的继承、多态等技术可以节省很大的代码量。
    以下是我实现的DataGrid的排序,翻页,删除等功能。
    首先看一下运行后的效果图:

    在这个页面中,实现了排序,分页,删除,编辑等功能,用户选择记录,点击“删除”按钮后,可删除记录。用户点击添加,编辑,删除,查看,查询等按钮,会调用相应的脚本,这里就不再描述脚本代码了。
    下面是实现代码:
    页面代码:
    <%@ Page Language="C#" CodeFile="Student_List.aspx.cs" Inherits="Tables_Student_List"
        MasterPageFile
    ="~/Master/ListMaster.master" Title="学生--列表"  styleSheetTheme="Default"%>

    <asp:Content ID="Main" ContentPlaceHolderID="DefaultContent" runat="server">

        
    <script>    
        
    // 操作表名称
        
    // 作者:天志
        
    // 创建日期:2007-11-26
        function GetTableName()
        {
            
    return "Student";
        }
        
        
    // 参数字符串
        
    // 作者:天志
        
    // 创建日期:2007-11-26
        function GetQuery()
        {
            var Table 
    = document.all("<%=dgdList.ClientID %>");
            var StudentGUID 
    = getCheckKeyId(Table, 01);

            
    return "StudentGUID=" + StudentGUID;
        }
        
    </script>
        
    <div align="Center">
            
    <asp:DataGrid ID="dgdList" SkinID="dgdList" runat="server">
                
    <Columns>
                    
    <asp:TemplateColumn>
                        
    <HeaderTemplate>
                            
    <input id="chkselectall" type="checkbox" onclick="checkallorno(this)" style="display: none">
                        
    </HeaderTemplate>
                        
    <ItemTemplate>
                            
    <asp:CheckBox id="chkID" onclick="ClickCheckInDataGrid(this)" runat="server" />
                            
    <input type="hidden" id="idStudentGUID" value='<%# DataBinder.Eval(Container.DataItem, "StudentGUID", "")%>' NAME="idStudentGUID">

                        
    </ItemTemplate>
                    
    </asp:TemplateColumn>
                    
    <asp:BoundColumn DataField="StudentGUID" Visible="False" />
                    
    <asp:BoundColumn DataField="StudentName" HeaderText="学生名称" SortExpression="StudentName" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left"/>
                    
    <asp:BoundColumn DataField="ClassGUID" HeaderText="学生班级" SortExpression="ClassGUID" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left"/>

                
    </Columns>
            
    </asp:DataGrid>
        
    </div>
    </asp:Content>


    后台代码:
    /**//// <copyright>天志 1980--2007</copyright>
    /// <version>1.0</version>
    /// <author>天志</author>
    /// <email>Xumingxsh21@126.com</email>
    /// <log date="2007-11-26">创建</log>

    using System;
    using System.Data;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    /**//// <summary>
    /// 学生--列表记录。
    /// </summary>
    /// <author>天志</author>
    /// <log date="2007-11-26">创建</log>
    public partial class Tables_Student_List : BaseListPage
    {
        
    /**//// <summary>
        
    /// 装载页面数据。
        
    /// </summary>
        
    /// <param name="sender">页面对象</param>
        
    /// <param name="e">存储事件数据对象</param>
        
    /// <author>天志</author>
        
    /// <log date="2007-11-26">创建</log>
        private void Page_Load(object sender,  System.EventArgs e)
        {
            
    try
            {
                ((Master_ListMaster)
    this.Master).OnDeleteEvent += new Master_ListMaster.DeleteHandler(btnDel_Click);
                
                
    if (!IsPostBack)
                {
                    
    // 绑定DataGrid数据源
                    this.dgCommon.BindDataGrid(this.dgdList,  true);
                }
            }
            
    catch(Exception ex)
            {
                
    this.OnException(ex);
            }
        }


        
    /**//// <summary>
        
    /// 取得数据源。
        
    /// </summary>
        
    /// <author>天志</author>
        
    /// <log date="2007-11-26">创建</log>
        protected override DataView GetDataView()
        {
            
    string sql = "SELECT StudentGUID, StudentName, ClassGUID FROM Student";
            
            
    return dataTable.DefaultView;
        }

        
    /**//// <summary>
        
    /// 设置事件的DataGrid。
        
    /// </summary>
        
    /// <author>天志</author>
        
    /// <log date="2007-11-26">创建</log>
        protected override DataGrid InitialDataGridControl
        {
            
    get
            {
                
    return this.dgdList;
            }
        }

        
    /**//// <summary>
        
    /// 删除。
        
    /// </summary>
        
    /// <author>天志</author>
        
    /// <log date="2007-11-26">创建</log>
        protected void btnDel_Click()
        {
            
            
    this.dgCommon.BindDataGrid(this.dgdList, true);
        }
    }
    GetDataView()的代码我省略了,它的作用是取得DataGrid的数据源。
    btnDel_Click()的代码我省略了,它的作用是删除DataGrid中一条选中的记录。


    以上就是实现这些功能的代码,是不是代码很少?
    为什么只用这么少的代码就可以实现这些功能呢?
    下一篇将介绍:
    以较少代码实现DataGrid的排序,翻页,删除等功能(续)

  • 相关阅读:
    Dockerfile深度剖析
    centos 7安装jdk8
    Centos 7 修改YUM镜像源地址为阿里云镜像地址
    Fabric智能合约(余额转移样本)
    Fabric智能合约(base)
    Fabric背书策略文件编写说明
    多catch块折叠
    Frp内网穿透服务部署
    Linux常用命令合集(初级)--Centos版
    English trip EM3-LP-5A Shopping Teacher: GABRIELE
  • 原文地址:https://www.cnblogs.com/admin11/p/973977.html
Copyright © 2011-2022 走看看