飘飘悠悠 发表于 2015-1-16 22:43:10

ASP.NET教程之asp.net 2.0下一个尺度GRIDVIEW功能的实...

对于new隐藏成员的作用,往往是出于使用了一个第三方类库,而你又无法获得这个类库的源代码,当你继承这个类库的某个类时,你需要重新实现其中的一个方法,而又需要与父类中的函数使用同样的函数,这是就需要在自定义的子类中把那个同名函数(或成员)加上new标记,从而隐藏父类中同名的成员。asp.net|尺度在asp.net2.0下,gridview是非常便利的了,加一个DATASOURCE系列的控件的话,就能够即刻和gridview绑定,非常便利。但实在也能够
利用datatable大概dataview的,这个时分就不是用datasource系列控件了。上面讲下怎样在asp.net2.0下,完成gridview控件的翻页,各列排序,
编纂的功效。
起首,我们读取的是northwind数据库中的employee表。安排一个gridview后,增加几个绑定的列,代码以下
<asp:GridViewID="GridView1"runat="server"AllowPaging="True"AllowSorting="True"
AutoGenerateColumns="False"CellPadding="4"ForeColor="#333333"GridLines="None"
Width="100%"DataKeyNames="EmployeeID"OnPageIndexChanging="GridView1_PageIndexChanging"OnRowEditing="GridView1_RowEditing"OnRowUpdating="GridView1_RowUpdating"OnSorting="GridView1_Sorting"PageSize="3"OnRowCancelingEdit="GridView1_RowCancelingEdit"OnRowCommand="GridView1_RowCommand">
<FooterStyleBackColor="#990000"Font-Bold="True"ForeColor="White"/>
<Columns>
<asp:BoundFieldDataField="employeeid"HeaderText="EmployeeID"ReadOnly="True"/>
<asp:BoundFieldDataField="firstname"HeaderText="FirstName"SortExpression="firstname"/>
<asp:BoundFieldDataField="lastname"HeaderText="LastName"SortExpression="lastname"/>
<asp:CommandFieldShowEditButton="True"/>
</Columns>
<RowStyleBackColor="#FFFBD6"ForeColor="#333333"/>
<SelectedRowStyleBackColor="#FFCC66"Font-Bold="True"ForeColor="Navy"/>
<PagerStyleBackColor="#FFCC66"ForeColor="#333333"HorizontalAlign="Center"/>
<HeaderStyleBackColor="#990000"Font-Bold="True"ForeColor="White"/>
<AlternatingRowStyleBackColor="White"/>
</asp:GridView>
起首,我们要完成分页,把AllowPaging设置为true,并设置每页的分页条数,最初在codebehind中写进
protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
GridView1.PageIndex=e.NewPageIndex;
BindGrid();
}
为了完成每列都能够主动点击排序,能够设置allowsorting=true,然后设置OnSorting="GridView1_Sorting",个中gridview_sorting
代码为
protectedvoidGridView1_Sorting(objectsender,GridViewSortEventArgse)
{
ViewState["sortexpression"]=e.SortExpression;
if(ViewState["sortdirection"]==null)
{
ViewState["sortdirection"]="asc";
}
else
{
if(ViewState["sortdirection"].ToString()=="asc")
{
ViewState["sortdirection"]="desc";
}
else
{
ViewState["sortdirection"]="asc";
}
}
BindGrid();
}
很分明,设置viewsate来保留每次排序时的按次,下面的信任很简单了解。
最初,完成编纂功效,由于在aspx页面中已设置了OnRowEditing="GridView1_RowEditing",个中GridView1_RowEditing的代码为
protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
intempid;
stringfname,lname;
empid=int.Parse(GridView1.Rows.Cells.Text);
fname=((TextBox)GridView1.Rows.Cells.Controls).Text;
lname=((TextBox)GridView1.Rows.Cells.Controls).Text;
SqlConnectioncnn=newSqlConnection(@"datasource=localhost;initialcatalog=northwind;userid=sa;password=123456");
cnn.Open();
SqlCommandcmd=newSqlCommand("updateemployeessetfirstname=@fname,lastname=@lnamewhereemployeeid=@empid",cnn);
cmd.Parameters.Add(newSqlParameter("@fname",fname));
cmd.Parameters.Add(newSqlParameter("@lname",lname));
cmd.Parameters.Add(newSqlParameter("@empid",empid));
cmd.ExecuteNonQuery();
cnn.Close();
GridView1.EditIndex=-1;
BindGrid();
}
protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)
{
GridView1.EditIndex=e.NewEditIndex;
BindGrid();
}
protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
{
GridView1.EditIndex=-1;
BindGrid();
}
能够看到,下面的代码和asp.net1.1版本的实在道理是差未几的。最初,bindgrid()的历程很复杂,为绑定咯
DataSetds=newDataSet();
SqlDataAdapterda=newSqlDataAdapter("select*fromemployees",@"datasource=localhost;initialcatalog=northwind;userid=sa;password=123456");
da.Fill(ds,"employees");
DataViewdv=ds.Tables.DefaultView;
if(ViewState["sortexpression"]!=null)
{
dv.Sort=ViewState["sortexpression"].ToString()+""+ViewState["sortdirection"].ToString();
}
GridView1.DataSource=dv;
GridView1.DataBind();
这里gridview绑定的是dataview,而且用dv.sort设定了每次排序的按次,也就是说,每次排序后其按次都是坚持稳定的。
固然最初是page_load事务咯
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
BindGrid();
}
}
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。

简单生活 发表于 2015-1-19 21:41:19

提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。

小妖女 发表于 2015-1-25 13:29:09

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

愤怒的大鸟 发表于 2015-2-2 22:14:58

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

爱飞 发表于 2015-2-8 12:30:20

主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。

莫相离 发表于 2015-2-25 13:55:21

逐步缩小出错代码段的范围,最终确定错误代码的位置。

飘飘悠悠 发表于 2015-3-7 21:30:11

主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。

因胸联盟 发表于 2015-3-15 14:10:40

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

金色的骷髅 发表于 2015-3-22 01:29:19

ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
页: [1]
查看完整版本: ASP.NET教程之asp.net 2.0下一个尺度GRIDVIEW功效的实...