|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。asp.net|控件<P> GridView控件是由一系列数据显现控件之一,它能够绑定到SqlDataSource控件以前往的数据纪录的字段以静态天生网格,GridView为我们供应了多种数据绑定列范例,比方BoundField默许数据绑定列范例是一种复杂的数据范例,展示了文本数据值。
其他范例方面的数据显现文本内容瓜代利用、CheckBoxField复选框显现布尔数据范例、CommandField显现一个按扭,按扭的范例能够是Button一般按扭、LinkButton超链接按扭、ImageButton图片按扭,等等范例,GridView控件还供应Templatefield,利用模板.能够对数据字段举行自界说的模板,模板可包含各类静态文本、lable、TextBox文本框.别的,有各类Templatefield模板,可被用来为用户供应了分歧情形下的模板。比方,ItemTemplate显现模板能够用来制造显现数据时的,但EditItemTemplate编纂模板能够用来制造编纂时、HeaderTemplate自界说表头模板、FooterTemplate自界说表尾模板。
明天我们要先容怎样使用Templatefield设置GridView的表面款式.上面的示例我们要用GridView控件显现Northwind数据库下的employees(雇员表)的EmployeeID、LastName、FirtName、BrthDote字段,要列出一切的员工,员工的姓、名(并将姓和名在统一个网格显现)延聘日期、当我们编纂数据时聘任日期用日历控件显现。
新建一个页面,在计划示图中为页面增加一个SqlDataSource控件,用于为GridView控件供应所要显现的数据,新建一个毗连,数据源设置选择当地(local或.)利用SQLServert夹杂考证形式,输出用户名、暗码,选择选择名为Northwind的数据库并测试毗连,测试毗连乐成后,保留毗连字符串单击“下一步”按扭,在“指定来自表或视图中”选择Employees表,在选择列当选择LastName,FirstName,Title,HireDate等字段。单击“初级”,选中“天生INSERT、UPDATE和DELETE语句”和“利用开放式并发”复选框,然后单击“完成”按扭完成对数据的选择。
为页面增加GridView控件,在便利义务面板中,选择SqlDataSource,然后封闭便利义务面板。如许就创立了数据绑定控件。并为GridView控件设置主动套用格局。保留并运转如所示,
HTML代码以下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无题目页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConflictDetection="CompareAllValues"
ConnectionString="<%$ConnectionStrings:NorthwindConnectionString%>"DeleteCommand="DELETEFROM[Employees]WHERE[EmployeeID]=@original_EmployeeIDAND[LastName]=@original_LastNameAND[FirstName]=@original_FirstNameAND[Title]=@original_TitleAND[HireDate]=@original_HireDate"
InsertCommand="INSERTINTO[Employees]([LastName],[FirstName],[Title],[HireDate])VALUES(@LastName,@FirstName,@Title,@HireDate)"
OldValuesParameterFormatString="original_{0}"SelectCommand="SELECT[EmployeeID],[LastName],[FirstName],[Title],[HireDate]FROM[Employees]"
UpdateCommand="UPDATE[Employees]SET[LastName]=@LastName,[FirstName]=@FirstName,[Title]=@Title,[HireDate]=@HireDateWHERE[EmployeeID]=@original_EmployeeIDAND[LastName]=@original_LastNameAND[FirstName]=@original_FirstNameAND[Title]=@original_TitleAND[HireDate]=@original_HireDate">
<DeleteParameters>
<asp:ParameterName="original_EmployeeID"Type="Int32"/>
<asp:ParameterName="original_LastName"Type="String"/>
<asp:ParameterName="original_FirstName"Type="String"/>
<asp:ParameterName="original_Title"Type="String"/>
<asp:ParameterName="original_HireDate"Type="DateTime"/>
</DeleteParameters>
<UpdateParameters>
<asp:ParameterName="LastName"Type="String"/>
<asp:ParameterName="FirstName"Type="String"/>
<asp:ParameterName="Title"Type="String"/>
<asp:ParameterName="HireDate"Type="DateTime"/>
<asp:ParameterName="original_EmployeeID"Type="Int32"/>
<asp:ParameterName="original_LastName"Type="String"/>
<asp:ParameterName="original_FirstName"Type="String"/>
<asp:ParameterName="original_Title"Type="String"/>
<asp:ParameterName="original_HireDate"Type="DateTime"/>
</UpdateParameters>
<InsertParameters>
<asp:ParameterName="LastName"Type="String"/>
<asp:ParameterName="FirstName"Type="String"/>
<asp:ParameterName="Title"Type="String"/>
<asp:ParameterName="HireDate"Type="DateTime"/>
</InsertParameters>
</asp:SqlDataSource>
</div>
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"CellPadding="4"
DataKeyNames="EmployeeID"DataSourceID="SqlDataSource1"ForeColor="#333333"GridLines="None"
Width="640px">
<FooterStyleBackColor="#990000"Font-Bold="True"ForeColor="White"/>
<Columns>
<asp:BoundFieldDataField="EmployeeID"HeaderText="EmployeeID"InsertVisible="False"
ReadOnly="True"SortExpression="EmployeeID"/>
<asp:BoundFieldDataField="LastName"HeaderText="LastName"SortExpression="LastName"/>
<asp:BoundFieldDataField="FirstName"HeaderText="FirstName"SortExpression="FirstName"/>
<asp:BoundFieldDataField="Title"HeaderText="Title"SortExpression="Title"/>
<asp:BoundFieldDataField="HireDate"HeaderText="HireDate"SortExpression="HireDate"/>
</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>
</form>
</body>
</html>
<P> 今朝,每名员工的姓和名展现了分歧表格中。我们也能够在一个表格中同时显现姓和名.在此,我们必要利用Templatefield编纂模板.我们能够增添一个新的Templatefield,加上它必要的标志和句法databinding,点击编纂栏的毗连GridView的智能标签、选择编纂列选项.选择Boundfield属性的在左下角的将次字段转换为TemplateField选项,然后单击"转换成Templatefield这一项,如所示。
这时候我们在计划视图中并没有发明有甚么改动发明,实践上TemplateField已为firstName字段默许设置了EditItemTemplate编纂时模版和ItemTemplate自界说一般模版,并取代了本来的代码
<asp:BoundFieldDataField="FirstName"HeaderText="FirstName"SortExpression="FirstName"/>新的代码以下:
<asp:TemplateFieldHeaderText="FirstName"SortExpression="FirstName">
<EditItemTemplate>
<asp:TextBoxID="TextBox1"runat="server"Text=<%#Bind("FirstName")%>></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:LabelID="Label1"runat="server"Text=<%#Bind("FirstName")%>></asp:Label>
</ItemTemplate>
</asp:TemplateField>
人人能够看到,Templatefield分为两个模板―ItemTemplate自界说一般模版用Lable标签显现数据字段firstName,EditItemTemplate编纂时模版用textbox文本框显现数据字段firstName.人人能够看到在两个模板中都都有<%#bind("fieldname")%>语句,用来指定要绑定的数据字段,我们绑定的字段都为fieldname。
经由过程在计划视图中单击GridView模板的智能标签选择编纂摸版一项,能够进进GridView模板的编纂界面。如所示。
我们要在一个网格中同时显现姓和名,这个时分我们只必要编纂一下ItemTemplate模版便可以,从工具箱当选择一个Lable控件增加到ItemTemplate的模板编纂界面中。如所示。
<P> 在ItemTemplate模版中增加Lable标签后,接上去我们要做的是要为其绑定命据字段,单击Lable智能标签选择选择编纂databindings选项.如所示。
这时候就会弹出databindings对话框.在这里你能够选择要绑定的属性和所绑定的数据字段,在可绑定属性中我们选择Text属性,字段绑定我们选择LastName字段。如所示。
注重一点:在databindings对话框中有一个双向数据绑定的复选框,这是在数据拔出和编纂时才会用到,这一点我们在今后会先容到,我们运转这个程序,我们能够看到在FirstName一列中同时显现了LastName和FirstName两个字段。如所示。
如许我们就完成这第一步,上面是我们修正后的这些变更后的GridView控件的HTML代码:
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"CellPadding="4"
DataKeyNames="EmployeeID"DataSourceID="SqlDataSource1"ForeColor="#333333"GridLines="None"
Width="640px">
<FooterStyleBackColor="#990000"Font-Bold="True"ForeColor="White"/>
<Columns>
<asp:BoundFieldDataField="EmployeeID"HeaderText="EmployeeID"InsertVisible="False"
ReadOnly="True"SortExpression="EmployeeID"/>
<asp:BoundFieldDataField="LastName"HeaderText="LastName"SortExpression="LastName"/>
<asp:TemplateFieldHeaderText="FirstName"SortExpression="FirstName">
<EditItemTemplate>
<asp:TextBoxID="TextBox1"runat="server"Text=<%#Bind("FirstName")%>></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:LabelID="Label1"runat="server"Text=<%#Bind("FirstName")%>></asp:Label>
<asp:LabelID="Label2"runat="server"Text=<%#Eval("LastName")%>Width="62px"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundFieldDataField="Title"HeaderText="Title"SortExpression="Title"/>
<asp:BoundFieldDataField="HireDate"HeaderText="HireDate"SortExpression="HireDate"/>
</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>
<P> 接上去我们要做的是在编纂形态下雇员招聘日期用日历控件显现出来,点击编纂栏的毗连GridView的智能标签、选择编纂列选项.选择hireddate字段,选择Boundfield属性的在左下角的将次字段转换为TemplateField选项,然后单击"转换成Templatefield这一项,如所示。
这时候我们进进再次进进编纂摸版时,单击GridView的智能标签,选择编纂模版,templatefield含有一个ItemTemplate和EditItemTemplate的标签,选择hiredateTemplatefield的EditItemTemplatee选项,将lable标签删除,从工具箱当选择日历控件放在EditItemTemplate编纂模版界面上,并计划日历控件控件的作风款式。如所示。
我们为日历控件选择要显现的数据字段,在可绑定属性分离选择selecteddate属性和VisibleDate属性举行数据绑定,当我们单击编纂按扭对GridView的数据举行修正时,在hireddate一列中不在是一个文本框让我们输出要修正的日期而是一个可用来选择日期的日历控件,如许能够便利用户对日期的修正,也避免了用户输出的字段不是日期而激发的非常,如0所示。
运转程序如1所示。
到今朝为止,我们已使用了两个模版:在统一个网格中同时显现两个数据字段,对数据编纂时不在是一个文本框输出编纂内容而是一个日历控件用于日期的选择。
GridView控件的HTML代码以下:
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"CellPadding="4"
DataKeyNames="EmployeeID"DataSourceID="SqlDataSource1"ForeColor="#333333"GridLines="None"
Width="620px"AutoGenerateEditButton="True">
<FooterStyleBackColor="#990000"Font-Bold="True"ForeColor="White"/>
<Columns>
<asp:BoundFieldDataField="EmployeeID"HeaderText="EmployeeID"InsertVisible="False"
ReadOnly="True"SortExpression="EmployeeID"/>
<asp:BoundFieldDataField="LastName"HeaderText="LastName"SortExpression="LastName"/>
<asp:TemplateFieldHeaderText="FirstName"SortExpression="FirstName">
<EditItemTemplate>
<asp:TextBoxID="TextBox1"runat="server"Text=<%#Bind("FirstName")%>></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:LabelID="Label1"runat="server"Text=<%#Bind("FirstName")%>></asp:Label>
<asp:LabelID="Label2"runat="server"Text=<%#Eval("LastName")%>Width="62px"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundFieldDataField="Title"HeaderText="Title"SortExpression="Title"/>
<asp:TemplateFieldHeaderText="HireDate"SortExpression="HireDate">
<EditItemTemplate>
<asp:CalendarID="Calendar1"runat="server"BackColor="#FFFFCC"BorderColor="#FFCC66"
BorderWidth="1px"DayNameFormat="Shortest"Font-Names="Verdana"Font-Size="8pt"
ForeColor="#663399"Height="200px"SelectedDate=<%#Bind("HireDate")%>ShowGridLines="True"
VisibleDate=<%#Eval("HireDate")%>Width="220px">
<SelectedDayStyleBackColor="#CCCCFF"Font-Bold="True"/>
<TodayDayStyleBackColor="#FFCC66"ForeColor="White"/>
<SelectorStyleBackColor="#FFCC66"/>
<OtherMonthDayStyleForeColor="#CC9966"/>
<NextPrevStyleFont-Size="9pt"ForeColor="#FFFFCC"/>
<DayHeaderStyleBackColor="#FFCC66"Font-Bold="True"Height="1px"/>
<TitleStyleBackColor="#990000"Font-Bold="True"Font-Size="9pt"ForeColor="#FFFFCC"/>
</asp:Calendar>
</EditItemTemplate>
<ItemTemplate>
<asp:LabelID="Label3"runat="server"Text=<%#Eval("HireDate")%>></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</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>
在GridView控件中使用模版能够天真地展示数据,天真性很高,我们能够依据分歧的必要设置不必的模版。以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。 |
|