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为查询条件)

四、提醒

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

实现效果

ASP.NET的GridView浅学习相关推荐

  1. 关于编程的浅学习与深学习

    导读:Tanky Woo的程序人生在博客中发表了<关于编程的浅学习与深学习>,文章是关于编程学习的一个提议.归纳.总结. 以下是文章全部内容: 关于编程的学习,大家肯定都知道,也是大家都说 ...

  2. Asp.net中GridView使用详解(引)【转】

    Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...

  3. Java Process类的浅学习

    Java Process类的浅学习 文章分类:Java编程 今天用了下java.lang.Process类,只是初步的学习,并没有深入实践,因为感觉它的用途并不是很大,偶尔才可能用上,如果要经常使用它 ...

  4. ASP.NET MVC 3.0学习系列文章—Model in ASP.NET MVC 3.0

    系列文章 ASP.NET MVC 3.0学习系列文章-序 ASP.NET MVC 3.0学习系列文章--Razor and ASP.NET MVC 3.0 ASP.NET MVC 3.0学习系列文章- ...

  5. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  6. ASP.NET MVC 3.0学习系列文章--Razor and ASP.NET MVC 3.0

    系列文章 ASP.NET MVC 3.0学习系列文章-序 Razor and ASP.NET MVC 3.0 ASP.NET MVC 3.0学习系列文章-Controllers in ASP.NET ...

  7. ASP.NET Core on K8S学习初探(1)

    " [LOG] ASP.NET Core on K8S Starting..." 01 - 写在之前 当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务 ...

  8. ASP.NET Core 源码学习之 Logging[2]:Configure

    在上一章中,我们对 ASP.NET Logging 系统做了一个整体的介绍,而在本章中则开始从最基本的配置开始,逐步深入到源码当中去. 默认配置 在 ASP.NET Core 2.0 中,对默认配置做 ...

  9. ASP.NET Core 源码学习之Logging[1]:Introduction

    在ASP.NET 4.X中,我们通常使用 log4net, NLog 等来记录日志,但是当我们引用的一些第三方类库使用不同的日志框架时,就比较混乱了.而在 ASP.Net Core 中内置了日志系统, ...

最新文章

  1. matlab pdist2函数官方详解
  2. bin二进制文件的运行
  3. MMU关闭时Cache的缓存策略是怎样的
  4. java常见业务对象_Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分...
  5. From Hero to Zero
  6. HDU5875 - Function
  7. python 实现截图自动存入Excel表
  8. fir1截止频率计算_数字信号处理 实验五:FIR数字滤波器设计与软件实现
  9. 强悍的 Linux —— 强悍的 ls
  10. 做一个管理者/技术负责人的学习之路--001
  11. 土地调查图斑编号_土地年度变更调查“图斑类型”说明
  12. Pr视频剪辑出现红线
  13. 密歇根大学张阳团队开发全球首个蛋白质和RNA分子通用结构比对算法
  14. 群体智能的未来趋势:网络安全领域、网络安全相关领域及其拓展
  15. VUE实现页面局部刷新
  16. 解决google扩展程序已损坏的问题
  17. html遍历map,forEach()方法遍历map()方法数组遍历
  18. sendfile详解
  19. win10家庭版 遇到的问题
  20. Python Web 菜谱项目再次前进一步,从应用层了解内置用户认证系统

热门文章

  1. 微信小程序提交审核并发布详细流程
  2. netbeans运行java_java - 如何设置运行JDK Netbeans?
  3. keepalived脑裂实践、高可用keepalived补充
  4. 福州瑞芯微电子嵌入式软件笔试题
  5. Drill下配置Hive存储插件
  6. 育碧联动非营利组织Limbitless Solution 打造《刺客信条:奥德赛》风格义肢
  7. centos查看密码及修改密码Host key verification failed
  8. SD卡格式化恢复怎么操作?只用这招!
  9. SDL显示图像和文字
  10. android 手机在忘记解锁密码/图案情况下,且未开通usb调试模式下如何解锁