Hi, I'm having problems getting my CompareValidator working inside my grid.
My grid uses a simple two level hierarchy. First level is a datetime, second level is a detail table with zero, one or more items.
In the detailtable there is a TABLE with a couple of TDs. These TDs are programmatically set to visible or invisible. Each TD has some controls.
One TD has a textbox and an input field (set to invisible), and also a Repeater that contains zero, one or more CompareValidators. Each CompareValidator validates against the invisible input field (which contains a copy of the parental user textbox).
I inject each CompareValidator in the Repeater ItemDataBound event handler.
This validation works until the value to compare results to false, and after that changing the value to a correct one does not cause the error message to disappear. Consequently, the form does not submit and the values in the grid are not updated nor validated.
I read that I should be using RadGrid's ItemCreated event handler to add CompareValidators but I cannot do that since it depends on each item in detail table if it has or not some special value. Also, I should be able to validate against more than one rule (indicated by the repeater) so there's the use of the repeater.
See code below. If anyone can shed light on the issue please do so!
Radgrid code is here:
Thanks in advance for any help!
Pieter
My grid uses a simple two level hierarchy. First level is a datetime, second level is a detail table with zero, one or more items.
In the detailtable there is a TABLE with a couple of TDs. These TDs are programmatically set to visible or invisible. Each TD has some controls.
One TD has a textbox and an input field (set to invisible), and also a Repeater that contains zero, one or more CompareValidators. Each CompareValidator validates against the invisible input field (which contains a copy of the parental user textbox).
I inject each CompareValidator in the Repeater ItemDataBound event handler.
This validation works until the value to compare results to false, and after that changing the value to a correct one does not cause the error message to disappear. Consequently, the form does not submit and the values in the grid are not updated nor validated.
I read that I should be using RadGrid's ItemCreated event handler to add CompareValidators but I cannot do that since it depends on each item in detail table if it has or not some special value. Also, I should be able to validate against more than one rule (indicated by the repeater) so there's the use of the repeater.
See code below. If anyone can shed light on the issue please do so!
| protected void repeaterPoliticas_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) |
| { |
| RepeaterItem i = e.Item; |
| if (i.ItemType == ListItemType.Item || |
| i.ItemType == ListItemType.AlternatingItem) |
| { |
| CompareValidator cv = (CompareValidator)i.FindControl("cvMontoPolitica"); |
| if (cv != null) |
| { |
| DataRow data = (DataRow)i.DataItem; |
| HtmlInputText hdnAux = (HtmlInputText)i.FindControl("hdnAux"); |
| hdnAux.Value = ((TextBox)hdnAux.Parent.Parent.Parent.FindControl("txtMonto")).Text; |
| cv.ControlToValidate = hdnAux.ID; |
| cv.ValueToCompare = Convert.ToString(data["monto"]); |
| cv.Operator = (ValidationCompareOperator)Convert.ToInt32(data["operador"]); |
| TextBox txtMonto = ((TextBox)hdnAux.Parent.Parent.Parent.FindControl("txtMonto")); |
| txtMonto.ToolTip = Convert.ToString(data["descripcion"]); |
| } |
| } |
| } |
Radgrid code is here:
| <telerik:RadGrid |
| ID="rgDiasGastos" |
| runat="server" |
| Width="99%" |
| ShowStatusBar="true" |
| AutoGenerateColumns="False" |
| PageSize="3" |
| AllowSorting="True" |
| AllowMultiRowSelection="False" |
| AllowPaging="True" |
| GridLines="None" |
| AllowAutomaticDeletes="True" |
| AllowAutomaticInserts="True" |
| AllowAutomaticUpdates="True" |
| ImagesPath="~/Images/telerik" |
| Skin="Outlook"> |
| <HeaderContextMenu> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </HeaderContextMenu> |
| <PagerStyle Mode="NumericPages" |
| FirstPageImageUrl="~/Images/telerik\PagingFirst.gif" |
| LastPageImageUrl="~/Images/telerik\PagingLast.gif" |
| NextPageImageUrl="~/Images/telerik\PagingNext.gif" |
| PrevPageImageUrl="~/Images/telerik\PagingPrev.gif"> |
| </PagerStyle> |
| <MasterTableView |
| DataKeyNames="fecha" EnableViewState="true" |
| AllowMultiColumnSorting="True" |
| Width="100%" |
| CommandItemDisplay="None" |
| EditFormSettings-EditFormType="AutoGenerated" |
| Name="Dias"> |
| <CommandItemTemplate> |
| <asp:LinkButton |
| ID="LinkButton1" |
| runat="server" |
| CommandName="InitInsert" |
| Visible='<%# !rgDiasGastos.MasterTableView.IsItemInserted %>'> |
| <img style="border:0px" alt="" src="Images/buttons/btn_agregar2.jpg" /> fecha |
| </asp:LinkButton> |
| </CommandItemTemplate> |
| <DetailTables> |
| <telerik:GridTableView |
| DataKeyNames="idComprobacionGastoDetalle" |
| Width="100%" |
| runat="server" EnableViewState="true" |
| CommandItemDisplay="Top" |
| EditFormSettings-EditFormType="Template" |
| Name="Gastos"> |
| <CommandItemTemplate> |
| <asp:LinkButton |
| ID="LinkButton2" |
| runat="server" |
| CommandName="InitInsert" |
| Visible='<%# !rgDiasGastos.MasterTableView.DetailTables[0].IsItemInserted %>'> |
| <img style="border:0px" alt="" src="Images/buttons/btn_agregarGasto.jpg" /> |
| </asp:LinkButton> |
| </CommandItemTemplate> |
| <ParentTableRelation> |
| <telerik:GridRelationFields DetailKeyField="fechaDetalle" MasterKeyField="fecha" /> |
| </ParentTableRelation> |
| <CommandItemSettings AddNewRecordImageUrl="~/Images/telerik\AddRecord.gif" |
| RefreshImageUrl="~/Images/telerik\Refresh.gif" /> |
| <RowIndicatorColumn FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn Visible="True" CollapseImageUrl="~/Images/telerik\SingleMinus.gif" |
| ExpandImageUrl="~/Images/telerik\SinglePlus.gif" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" |
| UniqueName="EditCommandColumn2" CancelImageUrl="~/Images/telerik\Cancel.gif" |
| EditImageUrl="~/Images/telerik\Edit.gif" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| InsertImageUrl="~/Images/telerik\Update.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif" |
| UpdateImageUrl="~/Images/telerik\Update.gif"> |
| <HeaderStyle Width="20px" /> |
| <ItemStyle CssClass="MyImageButton" /> |
| </telerik:GridEditCommandColumn> |
| <telerik:GridDateTimeColumn SortExpression="fechaDetalle" HeaderText="fechaDetalle" HeaderButtonType="TextButton" |
| DataField="fechaDetalle" UniqueName="fechaDetalle" Visible="false" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </telerik:GridDateTimeColumn> |
| <telerik:GridBoundColumn |
| SortExpression="Agrupacion" |
| DataField="Agrupacion" |
| HeaderText="Agrupacion" |
| HeaderButtonType="TextButton" |
| UniqueName="Agrupacion" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn |
| SortExpression="Concepto" |
| DataField="Concepto" |
| HeaderText="Concepto" |
| HeaderButtonType="TextButton" |
| UniqueName="Concepto" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn |
| SortExpression="CentroCosto" |
| DataField="CentroCosto" |
| HeaderText="Centro Costo" |
| HeaderButtonType="TextButton" |
| UniqueName="CentroCosto" |
| Visible="true" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn |
| SortExpression="WBS" |
| DataField="WBS" |
| HeaderText="WBS" |
| HeaderButtonType="TextButton" |
| UniqueName="WBS" |
| Visible="true" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn |
| SortExpression="monto" |
| DataField="monto" |
| HeaderText="monto" |
| HeaderButtonType="TextButton" |
| UniqueName="monto" |
| Visible="true" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </telerik:GridBoundColumn> |
| <telerik:GridButtonColumn |
| ConfirmText="Desea eliminar este gasto?" |
| ButtonType="ImageButton" |
| CommandName="Delete" |
| Text="Eliminar gasto" |
| UniqueName="DeleteColumn2" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| <HeaderStyle Width="20px" /> |
| <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> |
| </telerik:GridButtonColumn> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <EditColumn UniqueName="EditColumn"></EditColumn> |
| <FormTemplate> |
| <table cellspacing="0" cellpadding="0" width="100%" border="1" class="txtNormal"> |
| <tr valign="top"> |
| <td><input id="hdnFecha" type="hidden" runat="server" name="hdnFecha" value="" /></td> |
| <td width="102"><b>*Agrupación</b><br /> |
| <asp:DropDownList ID="ddlAgrupacion" runat="server" DataSource="<%# dsAgrupacionesConceptos %>" DataMember="Agrupaciones" CssClass="txtNormal" OnSelectedIndexChanged="ddlAgrupacion_SelectedIndexChanged" DataValueField="idConceptoGastoGrupo" DataTextField="descripcionAgrupacion" AutoPostBack="True"></asp:DropDownList><br /> |
| <asp:requiredfieldvalidator id="rqfAgrupacion" runat="server" CssClass="txtNormal" ErrorMessage="La agrupación es requerida." ControlToValidate="ddlAgrupacion" Display="Dynamic"></asp:requiredfieldvalidator></td> |
| <td width="102"><b>*Concepto</b><br /> |
| <asp:DropDownList ID="ddlConcepto" runat="server" CssClass="txtNormal" OnSelectedIndexChanged="ddlConcepto_SelectedIndexChanged" DataValueField="idConceptoGasto" DataTextField="descripcion" AutoPostBack="true"></asp:DropDownList><br /> |
| <asp:RequiredFieldValidator id="rqfConceptoGasto" runat="server" CssClass="txtNormal" ErrorMessage="El concepto de gasto es requerido." ControlToValidate="ddlConcepto" Display="Dynamic"></asp:RequiredFieldValidator></td> |
| <td id="tdComprobantes" width="102" runat="server"><b>Comprobantes</b><br /> |
| <asp:TextBox ID="txtComprobantes" runat="server" Text='<%# Bind("comprobantes") %>' CssClass="txtNormal" Width="100"></asp:TextBox><br /> |
| <asp:regularexpressionvalidator id="revComprobantes" runat="server" CssClass="txtNormal" ErrorMessage="El campo comprobantes contiene al menos un caracter inválido ' < >" ControlToValidate="txtComprobantes" Display="Dynamic" ValidationExpression="[^'<>]+"></asp:regularexpressionvalidator> |
| <asp:requiredfieldvalidator id="rqfComprobantes" runat="server" CssClass="txtNormal" ErrorMessage="Los comprobantes son requeridos." ControlToValidate="txtComprobantes" Display="Dynamic" Enabled="false"></asp:requiredfieldvalidator></td> |
| <td id="tdJustificacion" width="152" runat="server"><b>Justificación</b><br /> |
| <asp:TextBox ID="txtJustificacion" runat="server" Text='<%# Bind("justificacion") %>' CssClass="txtNormal" Width="150"></asp:TextBox><br /> |
| <asp:regularexpressionvalidator id="revJustificacion" runat="server" CssClass="txtNormal" ErrorMessage="El campo justificación contiene al menos un caracter inválido ' < >" ControlToValidate="txtJustificacion" Display="Dynamic" ValidationExpression="[^'<>]+"></asp:regularexpressionvalidator> |
| <asp:RequiredFieldValidator id="rqfJustificacion" runat="server" CssClass="txtNormal" ErrorMessage="La justificación es requerida." ControlToValidate="txtJustificacion" Display="Dynamic" Enabled="false"></asp:RequiredFieldValidator></td> |
| <td ID="tdCentroCosto" width="102" runat="server"><strong>*Centro de costo</strong><br /> |
| <asp:dropdownlist ID="ddlCentroCosto" runat="server" DataSource="<%# dsCentrosCosto %>" CssClass="txtNormal" DataValueField="numeroCentroCosto" DataTextField="descripcion"></asp:dropdownlist><br /> |
| <asp:requiredfieldvalidator id="rqfCentroCosto" runat="server" CssClass="txtNormal" ErrorMessage="El centro de costo es requerido." ControlToValidate="ddlCentroCosto" Display="Dynamic"></asp:requiredfieldvalidator></td> |
| <td ID="tdWBS" width="122" runat="server"><b><%# isWBSRequerido?"*":"" %>WBS</b><br /> |
| <asp:TextBox ID="txtWBS" runat="server" Text='<%# Bind("WBS") %>' CssClass="txtNormal" Width="120" MaxLength="18"></asp:TextBox><br /> |
| <asp:regularexpressionvalidator id="revWBS" runat="server" CssClass="txtNormal" ErrorMessage="El campo WBS contiene al menos un caracter inválido ' < > (ej. aaa-aaa12kkma1986a)" ControlToValidate="txtWBS" Display="Dynamic" ValidationExpression="^([a-zA-Z]{3})-([a-zA-Z]{3})([0-9]{2})([^'<>])*$"></asp:regularexpressionvalidator> |
| <asp:requiredfieldvalidator id="rqfWBS" runat="server" CssClass="txtNormal" ErrorMessage="El WBS es requerido." ControlToValidate="txtWBS" Display="Dynamic"></asp:requiredfieldvalidator></td> |
| <td id="tdPersonas" width="37" runat="server"><strong title="Número de personas">Pers.</strong><br> |
| <asp:TextBox ID="txtPersonas" runat="server" Text='<%# Bind("personas") %>' CssClass="txtNormal" Width="35" MaxLength="2" style="TEXT-ALIGN: right"></asp:TextBox><br /> |
| <asp:CompareValidator id="cvPersonas" runat="server" CssClass="txtNormal" ErrorMessage="Cantidad inválida. Debe ser mayor que cero." ControlToValidate="txtPersonas" Display="Dynamic" Type="Integer" ValueToCompare="0" Operator="GreaterThan"></asp:CompareValidator> |
| </td> |
| <td id="tdDias" width="37" runat="server"><strong title="Número de dÃas">DÃas</strong><br> |
| <asp:TextBox ID="txtDias" runat="server" Text='<%# Bind("dias") %>' CssClass="txtNormal" Width="35" MaxLength="3" style="TEXT-ALIGN: right"></asp:TextBox><br /> |
| <asp:CompareValidator id="cvDias" runat="server" CssClass="txtNormal" ErrorMessage="Cantidad inválida. Debe ser mayor que cero." ControlToValidate="txtDias" Display="Dynamic" Type="Integer" ValueToCompare="0" Operator="GreaterThan"></asp:CompareValidator> |
| </td> |
| <td id="tdHoras" width="37" runat="server"><strong title="Número de horas">*Hrs</strong><br> |
| <asp:TextBox ID="txtHoras" runat="server" Text='<%# Bind("horas") %>' CssClass="txtNormal" Width="35" MaxLength="2" style="TEXT-ALIGN: right"></asp:TextBox><br /> |
| <asp:CompareValidator id="cvHoras" runat="server" CssClass="txtNormal" ErrorMessage="Cantidad inválida. Debe ser mayor que cero." ControlToValidate="txtHoras" Display="Dynamic" Type="Integer" ValueToCompare="0" Operator="GreaterThan"></asp:CompareValidator> |
| </td> |
| <td id="tdKilometros" width="42" runat="server"><strong title="Número de kilómetros">*Km.</strong><br> |
| <asp:TextBox ID="txtKilometros" runat="server" Text='<%# Bind("kilometros") %>' CssClass="txtNormal" Width="40" MaxLength="6" style="TEXT-ALIGN: right"></asp:TextBox><br /> |
| <asp:CompareValidator id="cvKilometros" runat="server" CssClass="txtNormal" ErrorMessage="Cantidad inválida. Debe ser mayor que cero." ControlToValidate="txtKilometros" Display="Dynamic" Type="Integer" ValueToCompare="0" Operator="GreaterThan"></asp:CompareValidator> |
| <asp:requiredfieldvalidator id="rqfKilometros" runat="server" CssClass="txtNormal" ErrorMessage="El Km. es requerido." ControlToValidate="txtKilometros" Display="Dynamic"></asp:requiredfieldvalidator> |
| </td> |
| <td id="tdDeducible" width="82" runat="server"><strong>*Deducible</strong><br /> |
| <asp:TextBox ID="txtDeducible" runat="server" Text='<%# Bind("impuesto2") %>' Width="80" CssClass="txtNormal" style="TEXT-ALIGN: right" ReadOnly="true"></asp:TextBox></td> |
| <td id="tdMonto" width="62" runat="server"><b> |
| <asp:Label id="lblMonto" runat="server">*Monto</asp:Label></b><br /> |
| <ajax:AjaxPanel ID="AjaxPanel1" runat="server"> |
| <asp:TextBox id="txtMonto" runat="server" Text='<%# Bind("monto") %>' CssClass="txtNormal" Width="60" MaxLength="9" OnTextChanged="Recalculate_Impuestos" style="TEXT-ALIGN: right" AutoPostBack="true"></asp:TextBox> |
| </ajax:AjaxPanel> |
| <input type="hidden" id="hdnMonto" runat="server" name="hdnMonto" /> |
| <asp:CompareValidator ID="cvMonto" runat="server" CssClass="txtNormal" ErrorMessage="Monto inválido. Debe ser mayor que cero (0.00)." ControlToValidate="txtMonto" Display="Dynamic" Type="Currency" ValueToCompare="0" Operator="GreaterThan"></asp:CompareValidator> |
| <asp:requiredfieldvalidator ID="rqfMonto" runat="server" CssClass="txtNormal" ErrorMessage="El monto es requerido." ControlToValidate="txtMonto" Display="Dynamic"></asp:requiredfieldvalidator> |
| <asp:Repeater ID="repeaterPoliticas" runat="server" OnItemDataBound="repeaterPoliticas_ItemDataBound"> |
| <ItemTemplate> |
| <input id="hdnAux" visible="false" runat="server" value="" name="hdnAux" /> |
| <asp:CompareValidator |
| ID="cvMontoPolitica" |
| runat="server" |
| CssClass="txtNormal" EnableClientScript="true" |
| Text="PolÃtica no respetada." |
| ControlToValidate="hdnAux" |
| Display="Dynamic" |
| Type="Currency" |
| ValueToCompare="" |
| Operator="LessThanEqual" |
| ToolTip=""> |
| </asp:CompareValidator> |
| </ItemTemplate> |
| </asp:Repeater></td> |
| <td id="tdImpuesto1" width="62" runat="server"><strong>*I.V.A.</strong><br /> |
| <ajax:AjaxPanel id="Ajaxpanel2" runat="server"> |
| <asp:dropdownlist ID="ddlImpuesto1" runat="server" DataSource="<%# dsImpuesto1 %>" CssClass="txtNormal" Width="60" DataValueField="idImpuesto" DataTextField="porcIVA" OnSelectedIndexChanged="Recalculate_Impuestos" AutoPostBack="true"></asp:dropdownlist> |
| <asp:TextBox id="txtImpuesto1" runat="server" Text='<%# Bind("impuesto1") %>' Width="40" CssClass="txtNormal" style="TEXT-ALIGN: right" ReadOnly="true" Visible="false"></asp:TextBox> |
| </ajax:AjaxPanel> |
| <asp:requiredfieldvalidator id="rqfImpuesto1" runat="server" CssClass="txtNormal" ErrorMessage="El I.V.A. es requerido." ControlToValidate="ddlImpuesto1" Display="Dynamic"></asp:requiredfieldvalidator></td> |
| <td id="tdImpuesto2" width="102" runat="server"><strong>*Impuesto</strong><br /> |
| <ajax:AjaxPanel id="Ajaxpanel3" runat="server"> |
| <asp:dropdownlist id="ddlImpuesto2" runat="server" DataSource="<%# dsImpuesto2 %>" CssClass="txtNormal" Width="60" DataValueField="idImpuesto" DataTextField="descripcion" OnSelectedIndexChanged="Recalculate_Impuestos" AutoPostBack="true"></asp:dropdownlist> |
| <asp:TextBox id="txtImpuesto2" runat="server" Text='<%# Bind("impuesto2") %>' Width="40" CssClass="txtNormal" style="TEXT-ALIGN: right" ReadOnly="true"></asp:TextBox> |
| </ajax:AjaxPanel> |
| <asp:requiredfieldvalidator id="rqfImpuesto2" runat="server" CssClass="txtNormal" ErrorMessage="El impuesto es requerido." ControlToValidate="ddlImpuesto2" Display="Dynamic"></asp:requiredfieldvalidator> |
| <asp:requiredfieldvalidator id="rqfTxtImpuesto" runat="server" CssClass="txtNormal" ErrorMessage="El impuesto es requerido." ControlToValidate="txtImpuesto2" Display="Dynamic"></asp:requiredfieldvalidator> |
| <asp:CompareValidator id="cvImpuesto2" runat="server" CssClass="txtNormal" ErrorMessage="Cantidad inválida. Debe ser mayor o igual a cero (0.00)." ControlToValidate="txtImpuesto2" Display="Dynamic" Type="Currency" ValueToCompare="0" Operator="GreaterThanEqual"></asp:CompareValidator> |
| </td> |
| <td><input id="hdnIdComprobacionGastoDetalle" type=hidden value='<%# Bind("idComprobacionGastoDetalle") %>' name=hdnIdComprobacionGastoDetalle runat="server" /> </td> |
| </tr> |
| </table> |
| <table cellspacing="0" cellpadding="0" width="100%" border="0" class="txtNormal"> |
| <tr> |
| <td align="left"> |
| <asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insertar" : "Actualizar" %>' |
| runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'> |
| </asp:Button> |
| <asp:Button ID="btnCancel" Text="Cancelar" runat="server" CausesValidation="False" CommandName="Cancel"></asp:Button> |
| </td> |
| </tr> |
| </table> |
| </FormTemplate> |
| </EditFormSettings> |
| <PagerStyle FirstPageImageUrl="~/Images/telerik\PagingFirst.gif" |
| LastPageImageUrl="~/Images/telerik\PagingLast.gif" |
| NextPageImageUrl="~/Images/telerik\PagingNext.gif" |
| PrevPageImageUrl="~/Images/telerik\PagingPrev.gif" /> |
| </telerik:GridTableView> |
| </DetailTables> |
| <CommandItemSettings AddNewRecordImageUrl="~/Images/telerik\AddRecord.gif" |
| RefreshImageUrl="~/Images/telerik\Refresh.gif" /> |
| <RowIndicatorColumn FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn Visible="True" CollapseImageUrl="~/Images/telerik\SingleMinus.gif" |
| ExpandImageUrl="~/Images/telerik\SinglePlus.gif" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridDateTimeColumn SortExpression="fecha" HeaderText="Fecha" HeaderButtonType="TextButton" |
| DataField="fecha" UniqueName="fecha" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif"> |
| </telerik:GridDateTimeColumn> |
| </Columns> |
| <EditFormSettings> |
| <EditColumn CancelImageUrl="~/Images/telerik\Cancel.gif" |
| EditImageUrl="~/Images/telerik\Edit.gif" |
| FilterImageUrl="~/Images/telerik\Filter.gif" |
| InsertImageUrl="~/Images/telerik\Update.gif" |
| SortAscImageUrl="~/Images/telerik\SortAsc.gif" |
| SortDescImageUrl="~/Images/telerik\SortDesc.gif" |
| UpdateImageUrl="~/Images/telerik\Update.gif"> |
| </EditColumn> |
| </EditFormSettings> |
| <PagerStyle FirstPageImageUrl="~/Images/telerik\PagingFirst.gif" |
| LastPageImageUrl="~/Images/telerik\PagingLast.gif" |
| NextPageImageUrl="~/Images/telerik\PagingNext.gif" |
| PrevPageImageUrl="~/Images/telerik\PagingPrev.gif" /> |
| </MasterTableView> |
| <FilterMenu> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </FilterMenu> |
| </telerik:RadGrid> |
Thanks in advance for any help!
Pieter