This is a migrated thread and some comments may be shown as answers.

RadGrid Validation (RequiredFieldValidator)

2 Answers 321 Views
Grid
This is a migrated thread and some comments may be shown as answers.
[Nean]
Top achievements
Rank 1
[Nean] asked on 11 Jul 2011, 11:48 AM
Hello,

I tried to insert a validation in my RadGrid like in the exemple here : http://www.telerik.com/help/aspnet-ajax/grid-validation.html.

Here's my code :
<telerik:RadGrid ID="rgActions" runat="server" Width="100%" ShowHeader="true" OnItemDataBound="rgActions_ItemDataBound" OnItemCommand="rgActions_ItemCommand">
        <MasterTableView NoMasterRecordsText="Aucune action" ShowHeadersWhenNoRecords="true" AutoGenerateColumns="false" EditMode="PopUp" DataKeyNames="Idaction"
            CommandItemDisplay="Top" InsertItemDisplay="Top">
            <CommandItemSettings AddNewRecordText="Ajouter une action" RefreshText="Actualiser" />
            <EditFormSettings PopUpSettings-Width="620px" PopUpSettings-Modal="true"></EditFormSettings>
            <RowIndicatorColumn>
                <HeaderStyle Width="20px"></HeaderStyle>
            </RowIndicatorColumn>
            <ExpandCollapseColumn>
                <HeaderStyle Width="20px"></HeaderStyle>
            </ExpandCollapseColumn>
            <Columns>
                <telerik:GridBoundColumn DataField="Idaction" HeaderText="Idaction" ReadOnly="True" UniqueName="Idaction"
                    ForceExtractValue="InEditMode" Visible="False">
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn DataField="DateSaisie" HeaderText="Date saisie" UniqueName="DateSaisie"
                    ForceExtractValue="InEditMode">
                    <HeaderStyle Width="100px"/>
                    <ItemStyle Width="100px" VerticalAlign="Top"/>
                    <ItemTemplate>
                        <asp:Label ID="lblDateSaisie" runat="server" Text='<%# Eval("DateSaisie", "{0:dd/MM/yyyy}") %>'></asp:Label>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Label ID="lblDateSaisie" runat="server" Text='<%# Eval("DateRealisation")==DBNull.Value ? DateTime.Now.Date.ToShortDateString() : Eval("DateSaisie", "{0:dd/MM/yyyy}") %>'></asp:Label>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>             
                <telerik:GridTemplateColumn DataField="Description" HeaderText="Description" UniqueName="Description"  ForceExtractValue="InEditMode">
                    <ItemStyle VerticalAlign="Top"/>
                    <ItemTemplate>
                        <asp:Label ID="lblDescription" runat="server" Text='<%# Eval("DescriptionHtml") %>'></asp:Label>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadTextBox ID="tbDescription" runat="server" Width="500px" Height="50px" TextMode="MultiLine" MaxLength="500" Text='<%# Eval("Description") %>'></telerik:RadTextBox>
                        <asp:RequiredFieldValidator ID="rfvDescription" runat="server" ErrorMessage="*" ControlToValidate="tbDescription" Display="Dynamic"></asp:RequiredFieldValidator>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn DataField="DatePrevue" HeaderText="Date prévue" UniqueName="DatePrevue"  ForceExtractValue="InEditMode">
                    <HeaderStyle Width="100px"/>
                    <ItemStyle Width="100px" VerticalAlign="Top"/>
                    <ItemTemplate>
                        <asp:Label ID="lblDatePrevue" runat="server" Text='<%# Eval("DatePrevue", "{0:dd/MM/yyyy}") %>'></asp:Label>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadDatePicker ID="dpDatePrevue" runat="server" SelectedDate='<%# Eval("DatePrevue")==DBNull.Value ? DateTime.Now.Date : Eval("DatePrevue") %>'></telerik:RadDatePicker>
                        <asp:RequiredFieldValidator ID="rfvDatePrevue" runat="server" ErrorMessage="*" ControlToValidate="dpDatePrevue" Display="Dynamic"></asp:RequiredFieldValidator>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn DataField="Personnes" HeaderText="Personne(s)" UniqueName="Personnes"  ForceExtractValue="InEditMode">
                    <HeaderStyle Width="30%"/>
                    <ItemStyle Width="30%" VerticalAlign="Top"/>
                    <ItemTemplate>
                        <asp:Label ID="lblPersonnes" runat="server" Text='<%# Eval("Personnes") %>'></asp:Label>                       
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadTextBox ID="tbPersonnes" runat="server" Width="500px" Height="30px" TextMode="MultiLine"  MaxLength="200" Text='<%# Eval("Personnes") %>'></telerik:RadTextBox>
                        <asp:RequiredFieldValidator ID="rfvPersonnes" runat="server" ErrorMessage="*" ControlToValidate="tbPersonnes"  Display="Dynamic"></asp:RequiredFieldValidator>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>          
                <telerik:GridTemplateColumn DataField="DateRealisation" HeaderText="Date réalisation" UniqueName="DateRealisation"  ForceExtractValue="InEditMode">
                    <HeaderStyle Width="100px"/>
                    <ItemStyle Width="100px" VerticalAlign="Top"/>
                    <ItemTemplate>
                        <asp:Label ID="lblDateRealisation" runat="server" Text='<%# Eval("DateRealisation", "{0:dd/MM/yyyy}") %>'></asp:Label>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadDatePicker ID="dpDateRealisation" runat="server" SelectedDate='<%# Eval("DateRealisation")==DBNull.Value ? DateTime.Now.Date : Eval("DateRealisation") %>'></telerik:RadDatePicker>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" ButtonType="ImageButton"  EditText="Editer" UpdateText="Valider" CancelText="Annuler"  InsertText="Ajouter"
                    EditImageUrl="Resources/Images/Edit.gif" UpdateImageUrl="Resources/Images/Update.gif" CancelImageUrl="Resources/Images/Cancel.gif" InsertImageUrl="Resources/Images/Update.gif">
                    <HeaderStyle Width="40px" />  
                    <ItemStyle Width="40px" VerticalAlign="Top"/>    
                </telerik:GridEditCommandColumn>
            </Columns>
            <EditFormSettings>
                <EditColumn ButtonType="ImageButton" CancelText="Annuler" InsertText="Ajouter" UpdateText="Valider"
                 CancelImageUrl="Resources/images/Cancel.gif" UpdateImageUrl="Resources/images/Update.gif"  InsertImageUrl="Resources/images/Update.gif">
                </EditColumn>
            </EditFormSettings>
            <CommandItemTemplate>
                <asp:ImageButton ID="btnImageAddAction" runat="server" CommandName="InitInsert" ImageUrl="Resources/Images/Add.gif" style="vertical-align:middle;" />
                <asp:LinkButton ID="btnAddAction" runat="server" CommandName="InitInsert"  style="vertical-align:middle;">Ajouter une action</asp:LinkButton>
            </CommandItemTemplate>
        </MasterTableView>
        <ClientSettings>
            <ClientEvents OnPopUpShowing="PopUpShowing" />
            <Selecting AllowRowSelect="true" />
        </ClientSettings>
        <FilterMenu Skin="Office2007" EnableTheming="True">
            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
        </FilterMenu>
    </telerik:RadGrid>

But it doesn't work. Even if I don't put any date or text in my controls, the ItemCommand event is thrown. The worst is that I think it worked last week... What have i wrong ?

[Nean]

2 Answers, 1 is accepted

Sort by
0
[Nean]
Top achievements
Rank 1
answered on 12 Jul 2011, 10:49 AM
I've tried several things, but it still doesn't work. When I click on ok, there is a postback and the popup redraw herself with the calendar icon missing. So the code in the itemcommand event is execvuted (which should not) but the popu-up is still opened but not correctly. The stars (*) appears to say there's missing text and date but the code is already executed so it's not useful...
Someone had a similar problem or has an idea ?

[Nean]
0
[Nean]
Top achievements
Rank 1
answered on 12 Jul 2011, 04:00 PM
I'find the solution. I post it here if someone has the same problem one day. The error occurs since I had a radAjaxManager. To avoid this error you need to add the next lines in your RadAjaxManager :

<telerik:AjaxSetting AjaxControlID="rgActions">
 <UpdatedControls>
  <telerik:AjaxUpdatedControl ControlID="rgActions" />
 </UpdatedControls>
</telerik:AjaxSetting>
Tags
Grid
Asked by
[Nean]
Top achievements
Rank 1
Answers by
[Nean]
Top achievements
Rank 1
Share this question
or