DataGrid特殊效果

一。DataGrid更新输入数据正则验证

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>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值