| <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> |
| |