仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 590|回复: 9
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之ASP.NET在DataGrid疾速增加新行

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。asp.net|datagridASP.netDataGrid为我们供应的内建的纪录行编纂功效,可是没有供应内建的增加新行的功效。一个举措就是:在DataTable中增加新行,然后再从头绑定到DataGrid,这个举措可行,但在更新前必要举行确认,大概会发生空行。别的一个办理举措就是:使用DataGridfootertemplate来供应一个空的行,如许既能够进步速率,也能够制止别的办法带来的不敷。

为了为扫瞄者供应一个空行,我们利用DataGrid的FooterTemplate,我们间接在FooterTemplate里增加文本框,如许能够制止不用要的操纵:好比点击“编纂”按钮等。如许也能够削减来去数据提交的次数。我们这里仍旧LinkButton(拔出),并设置CommandName属性为“Insert”,这个CommandName在DataGrid的ItemCommand事务中,确保只要用户点击了“Insert”LinkButton才增加纪录。增加到数据库的办法是很复杂的。

上面的这个例子供应了DataGrid疾速增加新行的功效。aspx代码和CoheBehind代码分离以下,注重变动数据录毗连字符串:

检察例子

InsertableDataGrid.aspx

<%@PageLanguage="<ahref="http://dev.21tx.com/language/vb/"target="_blank">VB</a>"AutoEventWireup="false"Codebehind="InsertableDataGrid.aspx.vb"Inherits="aspx<ahref="http://dev.21tx.com/web/"target="_blank">Web</a>.InserTableDataGrid"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<metaname="GENERATOR"content="MicrosoftVisualStudio.NET7.0">
<metaname="CODE_LANGUAGE"content="VisualBasic7.0">
<metaname="vs_defaultClientScript"content="<ahref="http://dev.21tx.com/web/javascript/"target="_blank">JavaScript</a>">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<bodyMS_POSITIONING="GridLayout">
<formid="Form1"method="post"runat="server">
<asp:DataGridid="DataGrid1"runat="server"BorderColor="#CC9966"BorderStyle="None"
BorderWidth="1px"BackColor="White"CellPadding="4"ShowFooter="True"AutoGenerateColumns="False">
<SelectedItemStyleFont-Bold="True"ForeColor="#663399"BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyleForeColor="#330099"BackColor="White"></ItemStyle>
<HeaderStyleFont-Bold="True"ForeColor="#FFFFCC"BackColor="#990000"></HeaderStyle>
<FooterStyleForeColor="#330099"BackColor="#FFFFCC"></FooterStyle>
<Columns>
<asp:TemplateColumnHeaderText="EmployeeID">
<ItemTemplate>
<asp:Labelid=Label3runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.employeeid")%>>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:LinkButtonid="LinkButton1"runat="server"CommandName="Insert">Insert</asp:LinkButton>
</FooterTemplate>
<EditItemTemplate>
<asp:TextBoxid=TextBox5runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.employeeid")%>>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="LastName">
<ItemTemplate>
<asp:Labelid=Label1runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.lastname")%>>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBoxid="TextBox2"runat="server"></asp:TextBox>
</FooterTemplate>
<EditItemTemplate>
<asp:TextBoxid="TextBox1"runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="FirstName">
<ItemTemplate>
<asp:Labelid=Label2runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.firstname")%>>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBoxid="TextBox4"runat="server"></asp:TextBox>
</FooterTemplate>
<EditItemTemplate>
<asp:TextBoxid="TextBox3"runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyleHorizontalAlign="Center"ForeColor="#330099"BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>

InsertableDataGrid.aspx.vb

ImportsSystem.Data
ImportsSystem.Data.SqlClient

PublicClassInserTableDataGrid
InheritsSystem.Web.UI.Page
ProtectedWithEventsDataGrid1AsSystem.Web.UI.WebControls.DataGrid

#Region"WebFormDesignerGeneratedCode"

ThiscallisrequiredbytheWebFormDesigner.
<System.Diagnostics.DebuggerStepThrough()>PrivateSubInitializeComponent()

EndSub

PrivateSubPage_Init(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Init
CODEGEN:ThismethodcallisrequiredbytheWebFormDesigner
Donotmodifyitusingthecodeeditor.
InitializeComponent()
EndSub

#EndRegion

DimconnstrAsString="IntegratedSecurity=SSPI;UserID=sa;InitialCatalog=NorthWind;DataSource=.
etsdk"

PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotPage.IsPostBackThen
BindGrid()
EndIf
EndSub

SubBindGrid()
DimcnnAsNewSqlConnection(connstr)
DimdaAsNewSqlDataAdapter("selectemployeeid,lastname,firstnamefromemployees",cnn)
DimdsAsNewDataSet()
da.Fill(ds,"employees")

DataGrid1.DataSource=ds
DataGrid1.DataBind()
EndSub
PrivateSubDataGrid1_ItemCommand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridCommandEventArgs)_
HandlesDataGrid1.ItemCommand
Ife.CommandName="Insert"Then
DimcnnAsNewSqlConnection(connstr)
Dimt1AsTextBox=e.Item.FindControl("textbox2")
Dimt2AsTextBox=e.Item.FindControl("textbox4")
cnn.Open()
DimcmdAsNewSqlCommand("insertintoemployees(lastname,firstname)values("&t1.Text&","&t2.Text&")",cnn)
cmd.ExecuteNonQuery()
cnn.Close()
BindGrid()
EndIf
EndSub
EndClass它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。
再现理想 该用户已被删除
沙发
发表于 2015-1-19 16:22:18 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
活着的死人 该用户已被删除
板凳
发表于 2015-1-19 16:22:19 | 只看该作者
是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
地板
发表于 2015-1-24 15:16:08 | 只看该作者
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-1 18:29:17 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
若相依 该用户已被删除
6#
发表于 2015-2-7 13:29:22 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
冷月葬花魂 该用户已被删除
7#
发表于 2015-2-22 02:43:35 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
老尸 该用户已被删除
8#
发表于 2015-3-6 22:32:44 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
若天明 该用户已被删除
9#
发表于 2015-3-13 22:10:41 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
小魔女 该用户已被删除
10#
发表于 2015-3-20 20:50:07 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-10 21:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表