RequiredFieldValidator 控件用来校验一个输入框中是否输入了值,RegularExpressionValidator控件用来进行正则表达是的匹配。关于正则表达式的说明请参阅其他资料.其中ControlToValidate属性就是需要校验的文本框的ID号.标签中的文本就是在校验不成功的时候显示出来的提示,Display属性则是提示信息的显示方式.
DataGrid中<Columns>标签内的内容就是DataGrid的列了,列中还可以添加模版列,对应每一模版列,可以有<ItemTemplate>,<EditItemTemplate>,<HeaderTemplate>,<FooterTemplate>几个标签,其中<ItemTemplate>就是DataGrid在正常显示的时候列的标签了,<EditTemplate>也就是在编辑状态中的DataGrid列的样式了.
aspx中
<asp:datagrid id="MyDataGrid" runat="server" BorderColor="#CCCCCC" Font-Size="100%" HorizontalAlign="Center"
AutoGenerateColumns="False" OnDeleteCommand="MyDataGrid_Delete" OnSortCommand="Sort_Grid"
OnPageIndexChanged="MyDataGrid_PageIndexChanged" DataKeyField="SID" PagerStyle-Position="Bottom"
PagerStyle-HorizontalAlign="Center" PagerStyle-Mode="NextPrev" PageSize="10" AllowSorting="True"
AllowPaging="True" CellPadding="4" Width="100%" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel"
OnUpdateCommand="MyDataGrid_Update">
<AlternatingItemStyle BackColor="#E9E9E6"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" Wrap="False" ForeColor="White" BackColor="#999999"></HeaderStyle>
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="更新"></asp:EditCommandColumn>
<asp:TemplateColumn>
<HeaderTemplate>
順番
</HeaderTemplate>
<ItemTemplate>
<%# this.MyDataGrid.CurrentPageIndex * this.MyDataGrid.PageSize + Container.ItemIndex+ 1%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="SENO" SortExpression="SENO" ReadOnly="True" HeaderText="セ#"></asp:BoundColumn>
<asp:TemplateColumn>
<HeaderTemplate>年月日</HeaderTemplate>
<ItemTemplate><%# DataBinder.Eval(Container,"DataItem.TD_Time","{0:d}")%></ItemTemplate>
<EditItemTemplate><asp:RegularExpressionValidator Runat=server ControlToValidate="txtDateTD"
ErrorMessage="日期" ValidationExpression="(/d{4}|/d{2})//d/d?//d/d?"/>
<asp:TextBox Runat=server ID="txtDateTD"></asp:TextBox>
</EditItemTemplate></asp:TemplateColumn>
</Columns>
<PagerStyle NextPageText="后10件" PrevPageText="返回" HorizontalAlign="Center"></PagerStyle>
</asp:datagrid>
aspx.cs中
protected void MyDataGrid_Update(Object sender, DataGridCommandEventArgs E)
{
string SID =(string)MyDataGrid.DataKeys[(int)E.Item.ItemIndex];
string Updata1=((TextBox)E.Item.FindControl("txtDateTD")).Text;
//数据库更新代码
MyDataGrid.EditItemIndex = -1;
BindGrid();
}
在这些标签中我们可以插入控件,然后在后台代码中用DataGrid1.Item[i].FindControls(“Coltrol Name”)可以对DataGrid中的控件进行操作.也可以用
if(e.Item.ItemType==ListItemType.Item)
{
e.Item.Cells[0].Attributes.Add("onclick", "return confirm('删除么?')");
}
给删除链接添加确认框
为了在DataGeid为编辑状态的时候控制DataGrid包含控件的状态,我们可以用CSS样式定义,将下面代码加入aspx文件的</head>和<Body>中,然后在<asp:TextBox>标签中加入CssClass=“myClass“即可改片控件的样式。(跟普通的方法没什么区别啦,呵呵。)
<style type="text/css">.myTextBox { BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #000000 1px solid; WIDTH: 80px; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 20px }
</style>