为了修改一条已经存在的数据,我们必须设置DataForm模式为UpdateRecord。然后,我们必须确定修改那一条数据,我们通过DataKeyField和DataKeyValue唯一确定一条数据,DataKeyField是数据表主键;DataKeyValue是一条数据的主键的值。
以下代码修改数据表中第三条记录:
<%@ Register TagPrefix="Super" Namespace="Superexpert.Data"
Assembly="Superexpert.DataForm" %>
<html>
<head><title>DataFormUpdateRecord.aspx</title></head>
<body>
<super:SqlDataForm
TableName="CustomerSurvey"
ConnectionString="Server=Localhost;UID=sa;PWD=secret;Database=Pubs"
DataKeyField="Customer_ID"
DataKeyValue="3"
Mode="UpdateRecord"
runat="Server" />
</body>
</html>
具体效果如下:
http://www.superexpertcontrols.com/dataform/samples/sample2.aspx
以上代码设置Mode为UpdateRecord,设置DataKeyField为Customer_ID,设置DataKeyValue为3。
如果我们需要修改数据表中的所有数据,可以将DataForm模式设置为UpdateTable。在设置为修改整个表以后,会在数据表单上方生成一个导航条,通过这个导航条,我们可以浏览数据表中的所有数据。
<%@ Register TagPrefix="Super" Namespace="Superexpert.Data"
Assembly="Superexpert.DataForm" %>
<html>
<head><title>DataFormUpdateTable.aspx</title></head>
<body>
<super:SqlDataForm
TableName="CustomerSurvey"
ConnectionString="Server=Localhost;UID=sa;PWD=secret;Database=Pubs"
DataKeyField="Customer_ID"
Mode="UpdateTable"
runat="Server" />
</body>
</html>
具体效果如下:
http://www.superexpertcontrols.com/dataform/samples/sample3.aspx
如果我们将模式设置为Custom,我们就可以设置提交表单以后的动作。比如,以下代码实现提交表单以后自动转到ThankYou.aspx页面。
<%@ Register TagPrefix="Super" Namespace="Superexpert.Data"
Assembly="Superexpert.DataForm" %>
<Script runat="Server">
Sub Form_Submit( s As Object, e As EventArgs )
myForm.Save()
Response.Redirect( "ThankYou.aspx" )
End Sub
</Script>
<html>
<head><title>DataFormCustom.aspx</title></head>
<body>
<super:SqlDataForm
id="myForm"
TableName="CustomerSurvey"
ConnectionString="Server=Localhost;UID=sa;PWD=secret;Database=Pubs"
Mode="Custom"
OnSubmit="Form_Submit"
runat="Server" />
</body>
</html>
具体效果如下:
http://www.superexpertcontrols.com/dataform/samples/sample4.aspx
3、设置DataForm样式
DataForm有四种样式我们可以修改:
1、HeaderStyle:定义数据表单的Header样式;
2、LabelStyle:定义数据表单的Label样式;
3、FieldStyle:定义数据表单的Field样式;
4、FooterStyle:定义数据表单的Footer样式;
DataForm还支持以下属性设置:
GridLines:定义数据表单的线格式,包括:None、Both、Horizontal和Vertical。
Height:数据表单控件高度;
Width:数据表单控件宽度;
BoderStyle:数据表单边框格式;
BorderWidth:数据表单边框宽度;
BorderColor:数据表单边框颜色;
CellPadding:数据表单控件大小;
CellSpacing:数据表单控件间间距;
我们现在看一个举例:
<%@ Register TagPrefix="Super" Namespace="Superexpert.Data"
Assembly="Superexpert.DataForm" %>
<html>
<head><title>DataFormStyle.aspx</title></head>
<body>
<super:SqlDataForm
HeaderStyle-backColor="Salmon"
FieldStyle-backColor="yellow"
LabelStyle-Font-Name="Script"
LabelStyle-Font-Size="28pt"
FooterStyle-backColor="blue"
Cellpadding="10"
Cellspacing="0"
GridLines="Both"
BorderStyle="Dashed"
BorderColor="red"
BorerWidth="10px"
LabelStyle-BackColor="lightgreen"
TableName="CustomerSurvey"
ConnectionString="Server=Localhost;UID=sa;PWD=secret;Database=Pubs"
runat="Server" />
</body>
</html>
具体效果如下:
http://www.superexpertcontrols.com/dataform/samples/sample5.aspx
4、自定义布局的DataForm
我们也可以自己增加控件设计数据表单布局,可以增加的控件如下:
● DataTextBox
● DataDropDownList
● DataRadioButton
● DataCheckbox
● DataListBox
● DataRadioButtonList
● DataLabel
每一个控件都扩展了标准控件的功能。这些控件都有两个属性:DataField和DataType。DataField让控件和数据库的具体字段联系起来,DataType定义输入数据的类型。以下是一个增加数据的举例:
<%@ Register TagPrefix="Super" Namespace="Superexpert.Data"
Assembly="Superexpert.DataForm" %>
<Script runat="Server">
Sub Form_Submit( s As Object, e As EventArgs )
myForm.Save()
Response.Redirect( "ThankYou.aspx" )
End Sub
</Script>
<html>
<head><title>DataFormCustomLayout.aspx</title></head>
<body>
<super:SqlDataForm
id="myForm"
TableName="CustomerSurvey"
ConnectionString="Server=Localhost;UID=sa;PWD=secret;Database=Pubs"
runat="Server">
Customer Name:
<br>
<super:DataTextBox
DataField="Customer"
Runat="Server" />
<p>
Age:
<br>
<super:DataTextBox
DataField="Age"
Runat="Server" />
<p>
Birthdate:
<br>
<super:DataTextBox
DataField="Birthdate"
Runat="Server" />
<p>
<asp:Button
Text="Add New Customer!"
OnClick="Form_Submit"
Runat="Server" />
<p>
</super:SqlDataForm>
</body>
</html>
具体效果请看:
http://www.superexpertcontrols.com/dataform/samples/sample6.aspx
文章来源于领测软件测试网 https://www.ltesting.net/