2012-01-09 33 views
2

簡単な質問?私はフッターの行を挿入してgridviewを持っていると私はその行とedittemplateの検証コントロールを持ってどのように私はそれが行を挿入するだけでなく、それを検証する編集を行うので、その行を検証する。私はちょうど挿入行または編集行を検証するためにwnat。GridViewの編集行と挿入行の検証

<asp:GridView ID="PageSettings" runat="server" 
    AllowPaging="True" AllowSorting="True" 
    AutoGenerateColumns="False" 
    AutoGenerateDeleteButton="True" 
    AutoGenerateEditButton="True" 
    DataKeyNames="Id" 
    DataSourceID="ObjectDataSourcePages" 
    OnLoad="PageSettings_Load"   
    OnRowDataBound="PageSettings_DataBound" 
    OnRowCommand="PageSettings_RowCommand" 
    OnRowCreated="PageSettings_RowCreated" 
    OnRowEditing="PageSettings_RowEditing" 
    OnRowCancelingEdit="PageSettings_RowCancelingEdit" 
    OnRowUpdating="PageSettings_RowUpdating"  
    OnPageIndexChanging="PageSettings_PageIndexChanging" 
    OnSorting="PageSettings_Sorting" 
    OnSorted="PageSetting_Sorted"  
    PageSize="2" 
    ShowFooter="True" 
    ShowHeaderWhenEmpty="True"> 
    <Columns> 
     <asp:TemplateField HeaderText="Page Name" HeaderStyle-HorizontalAlign="Left" SortExpression="Name"> 
      <ItemTemplate> 
       <%# Eval("Name") %> 
      </ItemTemplate> 
      <EditItemTemplate> 
       <asp:TextBox ID="Name" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox> 
       <asp:RequiredFieldValidator ID="valRequireName" runat="server" 
        ControlToValidate="Name" 
        CssClass="gridview-error"  
        Display="Dynamic" 
        SetFocusOnError="true">*</asp:RequiredFieldValidator>  
      </EditItemTemplate> 
      <FooterTemplate> 
       <asp:TextBox ID="InsertName" runat="server"></asp:TextBox> 
       <asp:RequiredFieldValidator ID="valRequireInsertName" runat="server" 
        ControlToValidate="InsertName" 
        Display="Dynamic" 
        SetFocusOnError="true">*</asp:RequiredFieldValidator> 
      </FooterTemplate>    
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Path" HeaderStyle-HorizontalAlign="Left" SortExpression="Path"> 
      <ItemTemplate> 
       <%# Eval("Path") %> 
      </ItemTemplate> 
      <EditItemTemplate>      
       <asp:TextBox ID="Path" runat="server" Text='<%# Bind("Path") %>'></asp:TextBox> 
       <asp:RequiredFieldValidator ID="valRequirePath" runat="server" 
        ControlToValidate="Path" 
        Display="Dynamic" 
        SetFocusOnError="true">*</asp:RequiredFieldValidator>  
      </EditItemTemplate> 
      <FooterTemplate> 
       <asp:TextBox ID="InsertPath" runat="server"></asp:TextBox> 
       <asp:RequiredFieldValidator ID="valRequireInsertPath" runat="server" 
        ControlToValidate="InsertPath" 
        Display="Dynamic" 
        SetFocusOnError="true">*</asp:RequiredFieldValidator> 
      </FooterTemplate>    
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Route Value" HeaderStyle-HorizontalAlign="Left" SortExpression="RouteValue"> 
      <ItemTemplate> 
       <%# Eval("RouteValue") %> 
      </ItemTemplate> 
      <EditItemTemplate> 
       <asp:TextBox ID="RouteValue" runat="server" Text='<%# Bind("RouteValue") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <FooterTemplate> 
       <asp:TextBox ID="InsertRouteValue" runat="server"></asp:TextBox> 
      </FooterTemplate>    
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="RegExp" HeaderStyle-HorizontalAlign="Left" SortExpression="RegExp"> 
      <ItemTemplate> 
       <%# Eval("RegExp") %> 
      </ItemTemplate> 
      <EditItemTemplate> 
       <asp:TextBox ID="RegExp" runat="server" Text='<%# Bind("RegExp") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <FooterTemplate> 
       <asp:TextBox ID="InsertRegExp" runat="server"></asp:TextBox> 
      </FooterTemplate>    
     </asp:TemplateField> 
    </Columns>     
</asp:GridView> 

答えて

2

あなたは

SaveRecords操作ごとに別々のグループを定義し

検証グループ

を使用することができます

&

EditRecords

。保存/編集ボタン&には、それぞれの検証グループを指定して、対応するすべての検証コントロールをイベントごとに起動する必要があります。長い時間 後 MSDN

0

ができますが、フッターのRequiredFieldValidatorに一意の名前を持つvalidationgroupを追加し、ボタン

を追加するには、このvalidationgroupを追加する必要があります
関連する問題