ASP.NET的GridView浅学习

GridView的实现分为三个层面,一个是前端层面,一个是表的层面,最后一个是逻辑处理层。


一、前端实现(一个新增按钮、一个GridView、一个ObjectDataScoure数据源)

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="ObjectDataSource1" style="margin-top: 17px; margin-bottom: 44px">
            <Columns>
                <asp:TemplateField ShowHeader="False">
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="True" 
                            CommandName="Update" Text="更新"></asp:LinkButton>
                         <asp:LinkButton ID="LinkButton4" runat="server" CausesValidation="False" 
                            CommandName="Cancel" Text="取消"></asp:LinkButton>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" 
                            CommandName="Edit" Text="编辑" ></asp:LinkButton>
                    </ItemTemplate>

                </asp:TemplateField>
                <asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" 
                            CommandName="Delete" Text="删除" OnClientClick="return confirm('确认删除吗?');"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <FooterTemplate>
                        <asp:LinkButton ID="lnkbtnOk" runat="server" CommandName="Insert" 
                            οnclick="lnkbtnOk_Click" >保存</asp:LinkButton>
                         <asp:LinkButton ID="lnkbtnCancel" runat="server" 
                            οnclick="lnkbtnCancel_Click" >取消</asp:LinkButton>
                    </FooterTemplate>
                </asp:TemplateField>

                 <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />

                <asp:TemplateField HeaderText="teachername" SortExpression="teachername">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("teachername") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("teachername") %>'></asp:Label>
                    </ItemTemplate>
                     <FooterTemplate>
                        <asp:TextBox ID="txtName" runat="server" Width="70px"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>


                 <asp:TemplateField HeaderText="gender" SortExpression="gender">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("gender") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("gender") %>'></asp:Label>
                    </ItemTemplate>
                     <FooterTemplate>
                        <asp:TextBox ID="txtgender" runat="server" Width="70px"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>


                <asp:TemplateField HeaderText="country" SortExpression="country">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("country") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("country") %>'></asp:Label>
                    </ItemTemplate>
                     <FooterTemplate>
                        <asp:TextBox ID="txtcountry" runat="server" Width="70px"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>

                <asp:TemplateField HeaderText="native" SortExpression="native">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("native") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label4" runat="server" Text='<%# Bind("native") %>'></asp:Label>
                    </ItemTemplate>
                     <FooterTemplate>
                        <asp:TextBox ID="txtnative" runat="server" Width="70px"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>
               <%-- <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />--%>
               
             <%--   <asp:BoundField DataField="teachername" HeaderText="teachername" SortExpression="teachername" />
                <asp:BoundField DataField="gender" HeaderText="gender" SortExpression="gender" />
                <asp:BoundField DataField="country" HeaderText="country" SortExpression="country" />
                <asp:BoundField DataField="native" HeaderText="native" SortExpression="native" />--%>
                <asp:BoundField DataField="teachermumber" HeaderText="teachermumber" SortExpression="teachermumber" />
            </Columns>
        </asp:GridView>
    
        <asp:Button ID="Button1" runat="server" OnClick="lnkbtnInsert_Click" Text="新增" />
        <br />
        <br />
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="DeletetTeacher" InsertMethod="AddTeacher" SelectMethod="Getteachers" TypeName="WebApplication4.bll.teacherbll" UpdateMethod="UpdateTeacher" OnSelecting="ObjectDataSource1_Selecting">
            <DeleteParameters>
                <asp:Parameter Name="ID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="teachername" Type="String" />
                <asp:Parameter Name="gender" Type="String" />
                <asp:Parameter Name="country" Type="String" />
                <asp:Parameter Name="native" Type="String" />
                <asp:Parameter Name="teachermumber" Type="String" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="ID" Type="Int32" />
                <asp:Parameter Name="teachername" Type="String" />
                <asp:Parameter Name="gender" Type="String" />
                <asp:Parameter Name="country" Type="String" />
                <asp:Parameter Name="native" Type="String" />
                <asp:Parameter Name="teachermumber" Type="String" />
            </UpdateParameters>
        </asp:ObjectDataSource>
    
    </div>
        <br />
        <br />
        <br />
    </form>
</body>
</html>

实现效果


二数据逻辑处理层

 一、 新建一个文件夹命名为bll

二、添加一个类,作为数据逻辑处理层命名为teacherbll

  代码实现:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WebApplication4.DataSet1TableAdapters;
namespace WebApplication4.bll
{
    public class teacherbll
    {
        private teacherTableAdapter teacher=null;
        /// <summary>
        /// 私有化对象
        /// </summary>
        public teacherTableAdapter adapter
        {
            get
            {
                if (teacher == null)
                    teacher = new teacherTableAdapter();
                return teacher;

            }


        }
        /// <summary>
        /// 设计访问器
        /// </summary>
        /// <returns></returns>
        [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Select, true)]
        public DataSet1.teacherDataTable Getteachers()
        {
            return adapter.GetData();
        }
        [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Insert, true)]
        public bool AddTeacher(string teachername, string gender, string country, string native, string teachermumber)
        {
            DataSet1.teacherDataTable teachers = new DataSet1.teacherDataTable();//实例化一个数据集
            DataSet1.teacherRow teacher = teachers.NewteacherRow();//新增数据集的行对象
            if (teachername == null)//判断值是否为空
            {
                teacher.SetteachernameNull();
                 
            }
            else teacher.teachername = teachername;

            if (gender == null)
                teacher.SetgenderNull();
            else teacher.gender = gender;

            if (country == null)
                teacher.SetcountryNull();
            else teacher.country = country;

            if (native == null)
                teacher.SetnativeNull();
            else teacher.native = native;

            if (teachermumber == null)
                teacher.SetteachermumberNull();
            else teacher.teachermumber = teachermumber;
            teachers.AddteacherRow(teacher);//把数据集的新增行添加到表中
            int rows = adapter.Update(teachers);//更新数据库中的表
            return rows==1;
        }
        [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Select,true)]
        public  DataSet1.teacherDataTable GetTeacherByID(int ID)
        {
            return adapter.GetDataBy(ID);
   
        }
        /// <summary>
        /// 更新的操作
        /// </summary>
        /// <param name="ID"></param>
        /// <param name="teachername"></param>
        /// <param name="gender"></param>
        /// <param name="country"></param>
        /// <param name="native"></param>
        /// <param name="teachermumber"></param>
        /// <returns></returns>





        [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Update, true)]
        
        public bool UpdateTeacher(int ID, string teachername, string gender, string country, string native, string teachermumber)
        {
           
            DataSet1.teacherDataTable teachers = adapter.GetDataBy(ID);
            DataSet1.teacherRow teacher = teachers[0];
            if (teachername == null) teacher.SetteachernameNull();
            else teacher.teachername = teachername;

            if (gender == null) teacher.SetgenderNull();
            else teacher.gender = gender;

            if (country == null) teacher.SetcountryNull();
            else teacher.country = country;

            if (native == null) teacher.SetnativeNull();
            else teacher.native = native;

            if (teachermumber == null) teacher.SetteachermumberNull();
            else teacher.teachermumber = teachermumber;
            int rows = adapter.Update(teacher);
            return rows == 1;   
        }
        /// <summary>
        /// 删除的操作
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Delete, true)]
        public bool DeletetTeacher(int ID)
        {
            int rows = adapter.Delete(ID);
            return rows == 1;
        }

    }
}

三、表层

 一、添加数据-->新建项-->数据集DataSet1.xsd

、从与数据库进行的连接中选择自己所要处理的表,拖到DataSet1.xsd的页面来

三、在表的页面新建select查询(这里为了方便以ID为查询条件)

四、提醒

别忘了把数据源与控件绑定起来!

实现效果



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值