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

update in telerik: RadGrid

0 Answers 879 Views
Telerik Trainer
This is a migrated thread and some comments may be shown as answers.
Alexis
Top achievements
Rank 1
Alexis asked on 20 Jun 2012, 07:14 PM
such good afternoon, I was trying to update the record in the telerik: RadGrid
  I am using SqlDataSource1

alone and unable to perform query, insert, and elimar,
not allow me to perform the update of the record that I'm putting badly, or if there is a better way to perform these operations without using SqlDataSource1

another query, as I can pass values ​​from the aspx form ie values ​​of a combobox or textbox and assign an example:
assign them to the values ​​to insert or remove than the ones in the grid

  <InsertParameters>
                                    <asp:Parameter Name="usuario" />
                                    <asp:Parameter Name="f_actual" />
                                    <asp:Parameter Name="id_cliente" />
                                    <asp:Parameter Name="nomContactoCliente" />
                                    DefaultValue="agondola" <asp:Parameter Name="id_empleado" />
                                    <asp:Parameter Name="id_estado" />
                                    <asp:Parameter Name="f_tarea" />
                                    <asp:Parameter Name="descripcionTarea" />
                                    <asp:Parameter Name="cantidadHoraTarea" />
                                    DefaultValue="1" <asp:Parameter Name="id_proyecto" />
                                </ InsertParameters>


/////////////////////////////////////////////////////////////////////////////////////////////
code aspx in c#


<%@ Page Title="" Language="C#" MasterPageFile="~/ReporteHoras.Master" AutoEventWireup="true" CodeBehind="reporteHoras.aspx.cs"
Inherits="Reporte_Horas.Mantenimiento.reporteHoras" %>

<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>


<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">

    <style type="text/css">
        .GridViewStyle
        {}
        </style>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
   
   

    <telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
    </telerik:RadScriptManager>

     


     <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            <!--
            function RowDblClick(sender, eventArgs) {
              sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical());
            }

            function gridCreated(sender, args) {
//                if (sender.get_editIndexes && sender.get_editIndexes().length > 0) {
//                    document.getElementById("OutPut").innerHTML = sender.get_editIndexes().join();
//                }
//                else {
//                    document.getElementById("OutPut").innerHTML = "";
//                }
            }
            -->
        </script>
    </telerik:RadCodeBlock>

 
   

   <fieldset class="containersintitulo">

                        <fieldset style="width: 865px">
                                 <legend class="titulocontainerinterno">Consulta de Horas</legend>
                                        
                                 <table style="width: 855px">
                                     <tr>
                                         <td>
                                             <asp:Label ID="lblConsultor" runat="server" Text="Consultor"></asp:Label>
                                         </td>
                                         <td>
                                             <telerik:RadComboBox ID="ddlConsultor" Runat="server" Enabled="False"
                                                 Width="258px">
                                             </telerik:RadComboBox>
                                         </td>
                                         <td>
                                             &nbsp;</td>
                                         <td>
                                             <asp:Label ID="lblProyecto" runat="server" Text="Proyecto"></asp:Label>
                                         </td>
                                         <td>
                                             <telerik:RadComboBox ID="dllProyecto" Runat="server" Height="23px"
                                                 Width="165px">
                                             </telerik:RadComboBox>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td>
                                             <asp:Label ID="lblCliente" runat="server" Text="Cliente"></asp:Label>
                                         </td>
                                         <td>
                                             <telerik:RadComboBox ID="ddlCLiente" Runat="server" AutoPostBack="True"
                                                 Width="258px" onselectedindexchanged="ddlCLiente_SelectedIndexChanged">
                                             </telerik:RadComboBox>
                                         </td>
                                         <td>
                                             &nbsp;</td>
                                         <td>
                                             <asp:Label ID="lblFechaInicio" runat="server" Text="Fecha Inicio"></asp:Label>
                                         </td>
                                         <td>
                                             <telerik:RadDatePicker ID="dpFechaInicio" Runat="server" AutoPostBack="True"
                                                 onselecteddatechanged="dpFechaInicio_SelectedDateChanged" Culture="es-PA"
                                                 Skin="Windows7">
                                                      <Calendar UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False"
                                                          ViewSelectorText="x" Skin="Windows7"></Calendar>

                                                     <DateInput DisplayDateFormat="MM/dd/yyyy" DateFormat="MM/dd/yyyy" EnableSingleInputRendering="True" LabelWidth="64px"
                                                             AutoPostBack="True"></DateInput>

                                                  <DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton>
                                             </telerik:RadDatePicker>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td>
                                             <asp:Label ID="lblContactoCliente" runat="server" Text="Contacto del Cliente"></asp:Label>
                                         </td>
                                         <td>
                                             <asp:TextBox ID="txtContactoCliente" runat="server" Width="255px"></asp:TextBox>
                                         </td>
                                         <td>
                                             &nbsp;</td>
                                         <td>
                                             <asp:Label ID="lblFechaFin" runat="server" Text="Fecha Fin"></asp:Label>
                                         </td>
                                         <td>
                                             <telerik:RadDatePicker ID="dpFechaFin" Runat="server" Skin="Windows7"
                                                 Enabled="False">
                                                 <Calendar Skin="Windows7" UseColumnHeadersAsSelectors="False"
                                                     UseRowHeadersAsSelectors="False" ViewSelectorText="x">
                                                 </Calendar>
                                                 <DateInput DateFormat="MM/dd/yyyy" DisplayDateFormat="MM/dd/yyyy"
                                                     EnableSingleInputRendering="True" LabelWidth="64px">
                                                 </DateInput>
                                                 <DatePopupButton HoverImageUrl="" ImageUrl="" />
                                             </telerik:RadDatePicker>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td>
                                             &nbsp;</td>
                                         <td>
                                             &nbsp;</td>
                                         <td>
                                             &nbsp;</td>
                                         <td>
                                             &nbsp;</td>
                                         <td>
                                             &nbsp;</td>
                                     </tr>
                                 </table>

                                 <%-- campo cantidad de horas--%>

                                <hr style="color: #3366FF;" />                              
                                

                           <asp:Label ID="lblMensajes" runat="server" ForeColor="Red"></asp:Label>

                                   
                                 <br />

                                   
                        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
                             <AjaxSettings>
                                   <telerik:AjaxSetting AjaxControlID="RadGrid1">
                                        <UpdatedControls>
                                              <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                                              <telerik:AjaxUpdatedControl ControlID="RadWindowManager1" />
                                        </UpdatedControls>
                                   </telerik:AjaxSetting>

                             </AjaxSettings>
                        </telerik:RadAjaxManager>


                        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelReporte" runat="server" />


                                 <%--Contiene los totales de horas registradas--%>      
                          
                           <telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True"
        AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AllowPaging="True"
        AutoGenerateColumns="False" OnUpdateCommand="RadGrid1_UpdateCommand" OnItemUpdated ="RadGrid1_ItemUpdated"
        OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted"
                                     OnDataBound="RadGrid1_DataBound" Skin="Windows7" CellSpacing="0"
                                     onneeddatasource="RadGrid1_NeedDataSource" DataSourceID="SqlDataSource1" >
        <PagerStyle Mode="NextPrevAndNumeric" />
        <MasterTableView Width="100%" CommandItemDisplay="TopAndBottom"
                                   DataKeyNames="id_reporte, f_tarea, id_estado, descripcionTarea, cantidadHoraTarea"
                                   HorizontalAlign="NotSet" AutoGenerateColumns="False"
                                   DataSourceID="SqlDataSource1">
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>

<RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn>

<ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn>
            <Columns>
                <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
                    <ItemStyle CssClass="MyImageButton" />
                </telerik:GridEditCommandColumn>

                <telerik:GridBoundColumn DataField="id_reporte" HeaderText="ID Reporte" SortExpression="id_reporte"
                    UniqueName="id_reporte" ColumnEditorID="GridTextBoxColumnEditor1">
                </telerik:GridBoundColumn>

                  <telerik:GridDateTimeColumn DataField="f_tarea"
                    FilterControlAltText="Filter f_tarea column" HeaderText="Fecha"
                    SortExpression="f_tarea" UniqueName="f_tarea">
                </telerik:GridDateTimeColumn>

                  <telerik:GridDropDownColumn DataField="id_estado" DataSourceID="SqlDataSource2"
                    HeaderText="Estado de Tarea" ListTextField="descripcion" ListValueField="id_estado"
                    UniqueName="id_estado" ColumnEditorID="GridDropDownColumnEditor1">
                </telerik:GridDropDownColumn>

                  <telerik:GridBoundColumn DataField="descripcionTarea"
                    HeaderText="Descripcion de Tareas" SortExpression="descripcionTarea"
                    UniqueName="descripcionTarea" ColumnEditorID="GridTextBoxColumnEditor2"
                    FilterControlAltText="Filter descripcionTarea column">
                </telerik:GridBoundColumn>

                <telerik:GridNumericColumn DataField="cantidadHoraTarea" HeaderText="Cantidad de Horas" SortExpression="cantidadHoraTarea"
                    UniqueName="cantidadHoraTarea" ColumnEditorID="GridNumericColumnEditor1" >
                </telerik:GridNumericColumn>


                <telerik:GridButtonColumn ConfirmText="Delete this product?" ConfirmDialogType="RadWindow"
                    ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
                    UniqueName="DeleteColumn">
                    <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
                </telerik:GridButtonColumn>

            </Columns>

            <EditFormSettings ColumnNumber="2" CaptionDataField="id_reporte" CaptionFormatString="Edit properties of Product {0}"
                InsertCaption="New Product">
                <FormTableItemStyle Wrap="False"></FormTableItemStyle>

<FormTableStyle CellPadding="2" CellSpacing="0" BackColor="White" Height="110px"></FormTableStyle>

<FormMainTableStyle CellPadding="3" CellSpacing="0" BackColor="White" Width="100%"></FormMainTableStyle>

                <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle>
                <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="3" BackColor="White"
                    Width="100%" />
                <FormTableStyle CellSpacing="0" CellPadding="2" Height="110px" BackColor="White" />
                <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle>
                <EditColumn ButtonType="ImageButton" InsertText="Insert Order" UpdateText="Update record"
                    UniqueName="EditCommandColumn1" CancelText="Cancel edit">
                </EditColumn>
                <FormTableButtonRowStyle HorizontalAlign="Right" CssClass="EditFormButtonRow"></FormTableButtonRowStyle>
            </EditFormSettings>
        </MasterTableView>

        <ClientSettings>
<Selecting CellSelectionMode="None"></Selecting>

            <ClientEvents OnRowDblClick="RowDblClick" OnGridCreated="gridCreated" />

<ClientEvents OnGridCreated="gridCreated" OnRowDblClick="RowDblClick"></ClientEvents>
        </ClientSettings>

<FilterMenu EnableImageSprites="False"></FilterMenu>
    </telerik:RadGrid>


  <%--  fin del grid--%>


                               

                                   <br />

                                 <%--Contiene los totales de horas registradas--%>
                                   <telerik:GridDateTimeColumnEditor ID="GridDateTimeColumnEditor1"  runat="server"  />

                                 <%--Contiene los totales de horas registradas--%>
                                 <telerik:GridDropDownListColumnEditor ID="GridDropDownColumnEditor1" runat="server"  DropDownStyle-Width="110px" />

                                 <%--Contiene los totales de horas registradas--%>
                                  <telerik:GridNumericColumnEditor ID="GridNumericColumnEditor1" runat="server"  NumericTextBox-MaxLength="2" NumericTextBox-MaxValue ="24"
                                      NumericTextBox-MinValue ="1" NumericTextBox-Width="40px" />

                                 <%--Contiene la descripcion de la tarea--%>
                                   <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor1" runat="server"  TextBoxMaxLength="100" TextBoxStyle-Width="250px" />
                                 
                                

                                   <telerik:RadWindowManager ID="RadWindowManager1" runat="server" Skin="Windows7">
                                   </telerik:RadWindowManager>


                             <br />


                           <asp:SqlDataSource ID="SqlDataSource1" runat="server"
                                     ConnectionString="<%$ ConnectionStrings:DBReporteHora %>" DeleteCommand="    DELETE FROM [ReportesHoras]
    WHERE  [ReportesHoras].id_reporte = @ID_REPORTE" InsertCommand="INSERT INTO [DBReporteHoras].[dbo].[ReportesHoras]
           ([usuario]
           ,[f_actual]
           ,[id_cliente]
           ,[nomContactoCliente]
           ,[id_empleado]
           ,[id_estado]
           ,[f_tarea]
           ,[descripcionTarea]
           ,[cantidadHoraTarea]
           ,[id_proyecto])

     VALUES    
            (
            @usuario,
            @f_actual,
            @id_cliente,
            @nomContactoCliente,
            @id_empleado,
            @id_estado,
            CONVERT(NVARCHAR(10),@f_tarea,101),
            @descripcionTarea,
            @cantidadHoraTarea,
            @id_proyecto)    "


                                     SelectCommand="SELECT r.id_reporte, r.nomContactoCliente, CONVERT (NVARCHAR(10), r.f_tarea, 103) AS f_tarea, r.descripcionTarea,
                                     r.id_estado, e.descripcion AS descripcion_estado, r.cantidadHoraTarea, r.id_empleado, r.id_cliente, r.id_proyecto FROM
                                     ReportesHoras AS r
                                     INNER JOIN Estados AS e ON r.id_estado = e.id_estado
                                     WHERE (r.id_empleado = @id_empleado)
                                      AND (r.id_proyecto = @id_cliente) AND (r.id_proyecto = @id_proyecto)
                                      AND (r.f_tarea BETWEEN @ID_F_INICIO AND @ID_F_FIN)
                                      ORDER BY r.id_reporte"
                                     
                                     
       UpdateCommand="    UPDATE  [ReportesHoras]
        SET
            
            [ReportesHoras].id_estado  = @id_estado,    
            [ReportesHoras].descripcionTarea  = @descripcionTarea,            
            [ReportesHoras].cantidadHoraTarea = @cantidadHoraTarea
        WHERE
            [ReportesHoras].ID_REPORTE = @id_reporte    "
                                     ProviderName="<%$ ConnectionStrings:DBReporteHora.ProviderName %>">
                             
                               <DeleteParameters>
                                   <asp:Parameter Name="id_reporte" />
                               </DeleteParameters>

                               <InsertParameters>
                                   <asp:Parameter  DefaultValue="agondola" Name="usuario" />
                                   <asp:Parameter  DefaultValue="datetime" Name="f_actual" />
                                   <asp:Parameter  DefaultValue="1" Name="id_cliente" />
                                   <asp:Parameter DefaultValue="1" Name="nomContactoCliente" />
                                   <asp:Parameter DefaultValue="agondola" Name="id_empleado" />
                                   <asp:Parameter Name="id_estado" />
                                   <asp:Parameter Name="f_tarea" />
                                   <asp:Parameter Name="descripcionTarea" />
                                   <asp:Parameter Name="cantidadHoraTarea" />
                                   <asp:Parameter DefaultValue="1"  Name="id_proyecto" />
                               </InsertParameters>

                               <SelectParameters>
                                   <asp:Parameter  DefaultValue="agondola" Name="id_empleado" />
                                   <asp:Parameter  DefaultValue="1" Name="id_cliente" />
                                   <asp:Parameter  DefaultValue="1" Name="id_proyecto" />
                                   <asp:Parameter  DefaultValue="2012-06-11" Name="ID_F_INICIO" />
                                   <asp:Parameter  DefaultValue="2012-06-11" Name="ID_F_FIN" />
                               </SelectParameters>

                               <UpdateParameters>
                                   <asp:Parameter Name="id_reporte" />
                                   <asp:Parameter Name="id_estado" />
                                   <asp:Parameter Name="descripcionTarea" />
                                   <asp:Parameter Name="cantidadHoraTarea" />
                               </UpdateParameters>

                           
                               </asp:SqlDataSource>



   <asp:SqlDataSource ID="SqlDataSource2" runat="server"
     ConnectionString="<%$ ConnectionStrings:DBReporteHora %>"
          SelectCommand="sp_pp_Select_Estados_Tareas" SelectCommandType="StoredProcedure"
                                     ProviderName="<%$ ConnectionStrings:DBReporteHora.ProviderName %>">
    </asp:SqlDataSource>

                                 <br />


                              <hr style="color: #3366FF; width: 845px;" />



                              <%--Contiene los totales de horas registradas--%>
                              <table>
                               <tr>
                                   <td>
                                       &nbsp;
                                       <asp:Label ID="lblHorasTrabajadas" runat="server"
                                           Text="Total de horas trabajadas:"></asp:Label>
                                   </td>
                                   <td>
                                       &nbsp;
                                       <asp:TextBox ID="txtHorastrabajadas" runat="server" Enabled="False"
                                           Width="40px"></asp:TextBox>
                                   </td>
                               </tr>
                           </table>
                      
                                        
                       </fieldset>

    </fieldset>

 
 
</asp:Content>

////////////////////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////
code aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using Telerik.Web.UI.Calendar;

using System.Data.Common;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using Reporte_Horas.Clases;

using System.Configuration;
using System.Collections;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;




namespace Reporte_Horas.Mantenimiento
{
    public partial class reporteHoras : System.Web.UI.Page
    {
        //Clase que contiene las funciones de insercion, eliminar, modificar y busquedas por criterior
        clsReporteHoras ReporteHotas = new clsReporteHoras();
      
        private string gridMessage = null;


        protected void Page_Load(object sender, EventArgs e)
        {

            //Carga solamente la primera vez que se inicia la pagina, dejando los valores seleccionados despues de hacer otro postback
            if (!Page.IsPostBack)
            {
                        
               //Se inicializan los valores de fecha inicial y fecha final en la seccion de busqueda
               dpFechaInicio.SelectedDate = DateTime.Now.Date;
               string ls_dia = "";
               int li_numDia = 0;

               //Llena la lista de empleados
               LLenarEmpleados();

               //Usuario que se logeo en la aplicacion
               ddlConsultor.SelectedValue = "agondola";

               //LLena la lista de clientes
                LLenarClientes();
                
                //Llena la lista de proyectos dependiendo del cliente seleccionado
                llenarProyectos(Convert.ToInt32(ddlCLiente.SelectedValue));

                //Llena la lista de estados de las tareas del reporte
               // llenarEstadoTareas();

                //Permite asignar el rango de fecha al cual el usuario estara permitido a ingresar los reportes de hora
                 RangoFecha();

                //Permite cargar el grid de reporte de hora del empleado despendiendo de los criterios seleccionados
                //fLLenarGV();

                //Se utiliza para que se permita insertar, modificar y eliminar el registro en la misma fila
                 RadGrid1.MasterTableView.EditMode = GridEditMode.InPlace;

             }

        }


        /// <summary>
        /// Permite cargar la lista de reporte de hora del empleado despendiendo de los criterios seleccionados
        /// </summary>
        public void fLLenarGV()
        {

            try
            {

               DataSet dtsDatos = new DataSet();

               DataTable dt = new DataTable("TblRegistros");

               DataRow dr;

               int li_totalHoras = 0;

               //Limpia el label capturador de los errores
               lblMensajes.Style.Add("display", "");
               lblMensajes.Text = "";

               //Se le asigna al dataSet los valores recuperados del reporte de hora por los criterios seleccionados por el usuario  
               dtsDatos = ReporteHotas.Select_Reporte_Horas(Convert.ToString(ddlConsultor.SelectedValue), Convert.ToInt32(ddlCLiente.SelectedValue), Convert.ToInt32(dllProyecto.SelectedValue),
                          dpFechaInicio.SelectedDate.Value, dpFechaFin.SelectedDate.Value);

                //Se crea un datatable con los nombres de las columnas a desplegar en la lista de reportes de horas
                dt.Columns.Add("id_reporte");
                dt.Columns.Add("f_tarea");
                dt.Columns.Add("id_estado");
                dt.Columns.Add("descripcion_estado");
                dt.Columns.Add("descripcionTarea");
              
                dt.Columns.Add("cantidadHoraTarea");
                dt.Columns.Add("comando"); //campo utilizado para verificar si es un registro nuevo o un registro a actualizar


               //Se utiliza para agregar una nueva fila si no se recuperan datos en la consulta
               if( dtsDatos.Tables[0].Rows.Count == 0 ){
 
                   dr = dt.NewRow();
                   
                   //Se asignan valores a los registros para cargar el data table con informacion
                   dr["id_reporte"] = "";
                   dr["f_tarea"] = "";
                   dr["id_estado"] = "";
                   dr["descripcion_estado"] = "";
                   dr["descripcionTarea"] = "";
                  
                   dr["cantidadHoraTarea"] = "";
                   dr["comando"] = "N";  //campo utilizado para verificar si es un registro nuevo o un registro a actualizar

                   dt.Rows.Add(dr);
                
                    }

                else
               {
                   //Si devuelve registros se le asigna al campo comando: U, que significa que esa fila se actualizara
                   for (int i = 0; i < dtsDatos.Tables[0].Rows.Count; i++)
                   {

                       dr = dt.NewRow();

                       //Se asignan valores a los registros para cargar el data table con informacion
                       dr["id_reporte"] = dtsDatos.Tables[0].Rows[i]["id_reporte"];
                       dr["f_tarea"] = dtsDatos.Tables[0].Rows[i]["f_tarea"];
                       dr["id_estado"] = dtsDatos.Tables[0].Rows[i]["id_estado"];
                       dr["descripcion_estado"] = dtsDatos.Tables[0].Rows[i]["descripcion_estado"];
                       dr["descripcionTarea"] = dtsDatos.Tables[0].Rows[i]["descripcionTarea"];
               
                       dr["cantidadHoraTarea"] = dtsDatos.Tables[0].Rows[i]["cantidadHoraTarea"];

                       //Se calcula el total de horas trabajadas por el empleado, por los criterios selecionados
                       li_totalHoras = li_totalHoras + Convert.ToInt32(dtsDatos.Tables[0].Rows[i]["cantidadHoraTarea"]);

                       dr["comando"] = "U";   //campo utilizado para verificar si es un registro nuevo o un registro a actualizar

                       dt.Rows.Add(dr);

                   }

               }


               //Se asigna el DataTable al grid de "gvDatosReporte" para desplegar la lista de reportes del empleado por los criterios selecionados
                //gvDatosReporte.DataSource = dt;              
                //gvDatosReporte.DataBind();

                //gvDatosReporte.Visible = true;

                //Le asigno la suma de las horas trabajadas por el empleado a la caja de texto
                txtHorastrabajadas.Text = Convert.ToString(li_totalHoras);


                /////////////////////////////////
                //RadGrid1.DataSource = dt;
                //RadGrid1.DataBind();

                //RadGrid1.Visible = true;


                

            }
            catch (Exception ex)
            {
                lblMensajes.Style.Add("display", "");
                lblMensajes.Text = ex.Message;
            }

        }




        /// <summary>
        ///Se utiliza para cargar la lista de empleados
        /// </summary>
        public void LLenarEmpleados()
        {
            try
            {
                DataSet dtsDatos = new DataSet();

                //Se obtiene la lista de empleados
                dtsDatos = ReporteHotas.Select_Empleados();

                //Se carga el combo de consultor
                ddlConsultor.DataSource = dtsDatos;
                ddlConsultor.DataTextField = "nombre";
                ddlConsultor.DataValueField = "id_empleado";
                ddlConsultor.DataBind();

                ddlConsultor.SelectedIndex = 0;
            }

            catch (Exception ex)
            {

                lblMensajes.Style.Add("display", "");
                lblMensajes.Text = ex.Message;
            }
        }


    


        /// <summary>
        ///Se utiliza para cargar la lista de clientes
        /// </summary>
        public void LLenarClientes()
        {
            try
            {
                DataSet dtsDatos = new DataSet();

                //Se obtiene la lista de clientes             
                dtsDatos =  ReporteHotas.Select_Clientes();

                //Se carga el combo de clientes
                ddlCLiente.DataSource = dtsDatos;
                ddlCLiente.DataTextField = "nombre";
                ddlCLiente.DataValueField = "id_cliente";
                ddlCLiente.DataBind();

                ddlCLiente.SelectedIndex = 0;
            }

            catch (Exception ex)
            {

                lblMensajes.Style.Add("display", "");
                lblMensajes.Text = ex.Message;
             }
        }


        /// <summary>
        /// Se utiliza para cargar la lista de proyectos dependiendo el cliente seleccionado
        /// </summary>
        public void llenarProyectos(int li_id_cliente)
        {
            try
            {

                DataSet dtsDatos = new DataSet();

                //Se obtiene la lista de proyectos por el cliente seleccionado
                dtsDatos = ReporteHotas.Select_Proyectos(li_id_cliente);

                //Se carga el combo de proyecto
                dllProyecto.DataSource = dtsDatos;
                dllProyecto.DataTextField = "nombre";
                dllProyecto.DataValueField = "id_proyecto";
                dllProyecto.DataBind();

                dllProyecto.SelectedIndex = 0;

            }

            catch (Exception ex)
            {
                lblMensajes.Style.Add("display", "");
                lblMensajes.Text = ex.Message;
            }

        }




        /// <summary>
        /// Selecciona la lista de proyectos dependiendo del cliente seleccionado
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlCLiente_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            try
            {
                //Se carga la lista de proyectos dependiendo el cliente seleccionado
                llenarProyectos(Convert.ToInt32(ddlCLiente.SelectedValue));

            }
            catch (Exception ex)
            {
                lblMensajes.Style.Add("display", "");
                lblMensajes.Text = ex.Message;
            }
        }

      

        /// <summary>
        /// Permite asignarle el rango de fecha inicio y fin para realizar la carga de reporte de horas
        /// </summary>
        public void RangoFecha ()
           {

             try
             {
            
            //controles de fecha
            string ls_dia = "";
            int li_numDia = 0;

            //Se escoje el nombre del dia para realizar el proceso de armar el rango de fecha inicial y rango de fecha final
            ls_dia = Convert.ToString(dpFechaInicio.SelectedDate.Value.DayOfWeek);

            switch (ls_dia)
            {
                case "Monday":

                    li_numDia = 0;

                    break;
                case "Tuesday":

                    li_numDia = -1;

                    break;
                case "Wednesday":

                    li_numDia = -2;

                    break;
                case "Thursday":

                    li_numDia = -3;

                    break;
                case "Friday":

                    li_numDia = -4;

                    break;
                case "Saturday":

                    li_numDia = -5;

                    break;
                case "Sunday":

                    li_numDia = -6;

                    break;
                default:
                    break;
            }

            //Rango inicial en la seccion de busqueda
            dpFechaInicio.SelectedDate = Convert.ToDateTime(dpFechaInicio.SelectedDate).AddDays(Convert.ToInt32(li_numDia));

            //Rango final en la seccion de busqueda
            dpFechaFin.SelectedDate = Convert.ToDateTime(dpFechaInicio.SelectedDate).AddDays(+6);
            
            //Fecha minima que se podra ingresar la tarea
            //RadGrid1.Item("id_reporte") = Convert.ToDateTime(dpFechaInicio.SelectedDate);

               
            //dpFecha.MinDate = Convert.ToDateTime(dpFechaInicio.SelectedDate);
            //Fecha maxima que se podra ingresar la tarea
            //dpFecha.MaxDate = Convert.ToDateTime(dpFechaFin.SelectedDate);

            }
            catch (Exception ex)
            {
                lblMensajes.Style.Add("display", "");
                lblMensajes.Text = ex.Message;
            }

    }

        /// <summary>
        /// Permite colocar el rango de fecha de inicio y fecha fin al cual el empleado puede ingresar las tareas
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void dpFechaInicio_SelectedDateChanged(object sender, SelectedDateChangedEventArgs e)
        {
            try
            {

                //Permite colocar el rango de fecha de inicio y fecha fin al cual el empleado puede ingresar las tareas
                RangoFecha();

            }
            catch (Exception ex)
            {
                lblMensajes.Style.Add("display", "");
                lblMensajes.Text = ex.Message;
            }
        }



        protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e)
        {
            Hashtable oldValues = new Hashtable();
            Hashtable newValues = new Hashtable();
            GridEditableItem editedItem = e.Item as GridEditableItem;
            oldValues = (Hashtable)editedItem.SavedOldValues;
            e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editedItem);
        }




        protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e)
        {


            GridEditableItem item = (GridEditableItem)e.Item;
            String id = Convert.ToString(item.GetDataKeyValue("id_reporte"));


            if (e.Exception != null)
            {
                e.KeepInEditMode = true;
                e.ExceptionHandled = true;
                SetMessage("Reporte con ID " + id + " no pudo ser actualizado. Razón: " + e.Exception.Message);
            }
            else
            {
                SetMessage("Reporte con ID " + id + " fue actualizado!");
            }
        }

        protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)
        {

         
            if (e.Exception != null)
            {
                e.ExceptionHandled = true;
                SetMessage("La tarea no se puede insertar. Razón: " + e.Exception.Message);
            }
            else
            {
                SetMessage("La nueva tarea se inserto!");
            }
        }

        protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e)
        {
            GridDataItem dataItem = (GridDataItem)e.Item;
            String id =  Convert.ToString(dataItem.GetDataKeyValue("id_reporte"));


            if (e.Exception != null)
            {
                e.ExceptionHandled = true;
                SetMessage("Tarea con ID " + id + " no fue eliminada. Razón: " + e.Exception.Message);
            }
            else
            {
                SetMessage("Tarea con ID " + id + " fue eliminada!");
            }
        }





        private void DisplayMessage(string text)
        {
            RadGrid1.Controls.Add(new LiteralControl(string.Format("<span style='color:red'>{0}</span>", text)));
        }

        private void SetMessage(string message)
        {
            gridMessage = message;
        }



        protected void RadGrid1_DataBound(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(gridMessage))
            {
                DisplayMessage(gridMessage);
            }
        }

        protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
        {

            //fLLenarGV();


        }

    }
     
 }

No answers yet. Maybe you can help?

Tags
Telerik Trainer
Asked by
Alexis
Top achievements
Rank 1
Share this question
or