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为查询条件)
四、提醒
别忘了把数据源与控件绑定起来!
实现效果
ASP.NET的GridView浅学习相关推荐
- 关于编程的浅学习与深学习
导读:Tanky Woo的程序人生在博客中发表了<关于编程的浅学习与深学习>,文章是关于编程学习的一个提议.归纳.总结. 以下是文章全部内容: 关于编程的学习,大家肯定都知道,也是大家都说 ...
- Asp.net中GridView使用详解(引)【转】
Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...
- Java Process类的浅学习
Java Process类的浅学习 文章分类:Java编程 今天用了下java.lang.Process类,只是初步的学习,并没有深入实践,因为感觉它的用途并不是很大,偶尔才可能用上,如果要经常使用它 ...
- 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学习系列文章- ...
- ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步
http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...
- 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 ...
- ASP.NET Core on K8S学习初探(1)
" [LOG] ASP.NET Core on K8S Starting..." 01 - 写在之前 当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务 ...
- ASP.NET Core 源码学习之 Logging[2]:Configure
在上一章中,我们对 ASP.NET Logging 系统做了一个整体的介绍,而在本章中则开始从最基本的配置开始,逐步深入到源码当中去. 默认配置 在 ASP.NET Core 2.0 中,对默认配置做 ...
- ASP.NET Core 源码学习之Logging[1]:Introduction
在ASP.NET 4.X中,我们通常使用 log4net, NLog 等来记录日志,但是当我们引用的一些第三方类库使用不同的日志框架时,就比较混乱了.而在 ASP.Net Core 中内置了日志系统, ...
最新文章
- matlab pdist2函数官方详解
- bin二进制文件的运行
- MMU关闭时Cache的缓存策略是怎样的
- java常见业务对象_Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分...
- From Hero to Zero
- HDU5875 - Function
- python 实现截图自动存入Excel表
- fir1截止频率计算_数字信号处理 实验五:FIR数字滤波器设计与软件实现
- 强悍的 Linux —— 强悍的 ls
- 做一个管理者/技术负责人的学习之路--001
- 土地调查图斑编号_土地年度变更调查“图斑类型”说明
- Pr视频剪辑出现红线
- 密歇根大学张阳团队开发全球首个蛋白质和RNA分子通用结构比对算法
- 群体智能的未来趋势:网络安全领域、网络安全相关领域及其拓展
- VUE实现页面局部刷新
- 解决google扩展程序已损坏的问题
- html遍历map,forEach()方法遍历map()方法数组遍历
- sendfile详解
- win10家庭版 遇到的问题
- Python Web 菜谱项目再次前进一步,从应用层了解内置用户认证系统