Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ayuda con JQGrid y SqlDataSource

Estas en el tema de Ayuda con JQGrid y SqlDataSource en el foro de Frameworks JS en Foros del Web. Modifico el post, y solucione ese problema. Ahor necesito hacer lo siguiente: Ya que lo que debo hacer es simular una hoja de excel en ...
  #1 (permalink)  
Antiguo 14/01/2010, 09:46
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Ayuda con JQGrid y SqlDataSource

Modifico el post, y solucione ese problema.

Ahor necesito hacer lo siguiente:

Ya que lo que debo hacer es simular una hoja de excel en la web (de ahi el que use el jqgrid), necesito poder editar directamente en la celda del grid y que se modifique al momento de cambiar de celda o dar enter. Ademas necesito que las cabeceras del grid quede como lo muestra la hoja de excel, la subi a medifire:

EJEMPLO EN EXCEL

Como podran notar, de una columna surgen debajo 2 o mas, esto es lo que no se hacer en el jqgrid y no veo una opcion que de a entender que se puede hacer eso.

Dejo tmb el codigo de la pagina para que vean lo que he utilizado del jqgrid. Se que hay otra forma de usar el jqgrid (usando el script para crear el grid) pero no se como enlazar los datos del sqldatasource. Si saben hacer lo segundo y hacer de esta forma el grid me permite hacer lo que necesito por favor denme un ejemplo.

Código:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Prueba.aspx.cs" Inherits="Prueba" %>
<%@ Register Assembly="Trirand.Web" TagPrefix="trirand" Namespace="Trirand.Web.UI.WebControls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>PÁGINA DE PRUEBA</title>
<!-- The jQuery UI theme that will be used by the grid -->
    <link rel="stylesheet" type="text/css" media="screen" href="themes/custom-theme/jquery-ui-1.7.2.custom.css" />
    <!-- The jQuery UI theme extension jqGrid needs -->
    <link rel="stylesheet" type="text/css" media="screen" href="themes/ui.jqgrid.css" />
    <!-- jQuery runtime minified -->
    <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
    <!-- The localization file we need, English in this case -->
    <script src="js/i18n/grid.locale-sp.js"type="text/javascript"></script>
    <!-- The jqGrid client-side javascript -->
    <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>    
</head>
<body bgcolor="#000000" text="#ffffff">       
    <!--
    <%                     
        ManejadorBD manejador=new ManejadorBD();
        Table tabla=new Table();        
        manejador.Consulta="select * from soluciones";
        manejador.EjecutaConsulta();
        //tabla= manejador.Tabla;
        Response.Write("<form id=forma1 action=" + "'Default.aspx' method=" + "'post'><table border=10px>");
        for (int i = 0; i < 10; i++)
            Response.Write("<th>" + i + "</th>");
        Response.Write("<tr>");
        for(int i=0;i<10;i++)            
            
        Response.Write("<td><input type=text name=nombre>dsads</td>");
        //Response.Write("<td><input type=text name=nombre>dsads</td>");
        Response.Write("</tr></table></form>");
     %>
        -->
        
     <center>     
     <form id="form1" runat="server">
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
            SelectCommand="SELECT num_tecnico, iniciales, nombre, correo FROM TECNICOS"
            DeleteCommand="DELETE FROM TECNICOS WHERE num_tecnico = @num_tecnico" 
            InsertCommand="INSERT INTO TECNICOS(iniciales, nombre, correo) VALUES (@iniciales, @nombre, @correo)" 
            UpdateCommand="UPDATE TECNICOS SET iniciales = @iniciales, nombre = @nombre, correo = @correo WHERE num_tecnico = @num_tecnico">
        <DeleteParameters>
            <asp:Parameter Name="num_tecnico" Direction="Input" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="iniciales" Direction="Input" Type="String" />
            <asp:Parameter Name="nombre" Direction="Input" Type="String" />
            <asp:Parameter Name="correo" Direction="Input" Type="String" />
            <asp:Parameter Name="num_tecnico" Direction="Input" Type="Int32" />
        </UpdateParameters>
        <InsertParameters>            
            <asp:Parameter Name="iniciales" Direction="Input" Type="String" />
            <asp:Parameter Name="nombre" Direction="Input" Type="String" />
            <asp:Parameter Name="correo" Direction="Input" Type="String" />
        </InsertParameters>
    </asp:SqlDataSource>      
    
    <trirand:JQGrid runat="server" ID="JQGrid1" DataSourceID="SqlDataSource1" AppearanceSettings-Caption="TECNICOS"
     Width="600" Height="230" AddDialogSettings-LoadingMessageText="Cargando...">     
        <Columns>            
            <trirand:JQGridColumn HeaderText="No" DataField="num_tecnico" PrimaryKey="True" Width="5" TextAlign="Center" />
            <trirand:JQGridColumn HeaderText="Iniciales" DataField="iniciales" Editable="true" Width="5" TextAlign="Center" />
            <trirand:JQGridColumn HeaderText="Nombre" DataField="nombre" Editable="true" Width="25" TextAlign="Center" />
            <trirand:JQGridColumn HeaderText="Correo" DataField="correo" Editable="true" Width="20" TextAlign="Center" />                        
        </Columns>        
        <ToolBarSettings ShowEditButton="true" ShowRefreshButton="True" ShowAddButton="true" ShowDeleteButton="true"
            ShowSearchButton="True" />
    </trirand:JQGrid>                   
    
    </form>
    </center>
</body>
</html>
Gracias a todos y disculpen que nomas me la pase pregunte y pregunte pero no es algo mio y tengo 2 semanas para terminarlo.

Última edición por LOD_Fredy; 17/01/2010 a las 00:00
  #2 (permalink)  
Antiguo 14/01/2010, 11:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ayuda con JQGrid y SqlDataSource

Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 17/01/2010, 16:58
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda con JQGrid y SqlDataSource

Ayudenme plis.
  #4 (permalink)  
Antiguo 18/01/2010, 05:55
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Ayuda con JQGrid y SqlDataSource

Cita:
pero no se como enlazar los datos del sqldatasource.
A ver si podemos hacer un planteo mas sencillo. El problema es recuperar datos sql? Con un plugin jquery?
  #5 (permalink)  
Antiguo 18/01/2010, 20:57
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda con JQGrid y SqlDataSource

Lo que necesito es pasar los parametros de un sqldatasource al jqgrid pero sin usar el plugin de jqgrid, sino creando un script y enlazar el jqgrid creado desde el script con el sqldatasource.

Por ejemplo este script que viene en la pagina de jqgrid:

Código:
jQuery("#rowed1").jqGrid({ url:'server.php?q=2', datatype: "json", colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], colModel:[ {name:'id',index:'id', width:55}, {name:'invdate',index:'invdate', width:90, editable:true}, {name:'name',index:'name', width:100,editable:true}, {name:'amount',index:'amount', width:80, align:"right",editable:true}, {name:'tax',index:'tax', width:80, align:"right",editable:true}, {name:'total',index:'total', width:80,align:"right",editable:true}, {name:'note',index:'note', width:150, sortable:false,editable:true} ], rowNum:10, rowList:[10,20,30], pager: '#prowed1', sortname: 'id', viewrecords: true, sortorder: "desc", editurl: "server.php", caption: "Basic Example" }); jQuery("#rowed1").jqGrid('navGrid',"#prowed1",{edit:false,add:false,del:false}); jQuery("#ed1").click( function() { jQuery("#rowed1").jqGrid('editRow',"13"); this.disabled = 'true'; jQuery("#sved1,#cned1").attr("disabled",false); }); jQuery("#sved1").click( function() { jQuery("#rowed1").jqGrid('saveRow',"13"); jQuery("#sved1,#cned1").attr("disabled",true); jQuery("#ed1").attr("disabled",false); }); jQuery("#cned1").click( function() { jQuery("#rowed1").jqGrid('restoreRow',"13"); jQuery("#sved1,#cned1").attr("disabled",true); jQuery("#ed1").attr("disabled",false); });
Yo utilizo esto:

Código:
<trirand:JQGrid runat="server" ID="JQGrid1" DataSourceID="SqlDataSource1" AppearanceSettings-Caption="TECNICOS"
     Width="600" Height="230" RenderingMode="Optimized" AddDialogSettings-LoadingMessageText="Cargando...">     
        <Columns>            
            <trirand:JQGridColumn HeaderText="No" DataField="num_tecnico" PrimaryKey="True" Width="5" TextAlign="Center" />
            <trirand:JQGridColumn HeaderText="Iniciales" DataField="iniciales" Editable="true" Width="5" TextAlign="Center" />
            <trirand:JQGridColumn HeaderText="Nombre" DataField="nombre" Editable="true" Width="25" TextAlign="Center" />
            <trirand:JQGridColumn HeaderText="Correo" DataField="correo" Editable="true" Width="20" TextAlign="Center" />                        
        </Columns>        
        <ToolBarSettings ShowEditButton="true" ShowRefreshButton="True" ShowAddButton="true" ShowDeleteButton="true"
            ShowSearchButton="True" />
    </trirand:JQGrid>
Pero al parecer hacer el script de js te permite mayores funcionalidades pero no se como enlazar el sqldatasource a lo que genera el script. Si se utiliza otra cosa que no sea un componente de .net pues diganme que se utiliza.
  #6 (permalink)  
Antiguo 20/01/2010, 16:49
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda con JQGrid y SqlDataSource

Mira para que entiendas mejor:

Puedo mostrar en el componente JQGrid los datos de x tabla de x base de datos, necesito ahora poder modificar los datos directamente del componente JQGrid que genero, ya vez que el JQGrid te permite realizar update,delete, insert y search desde una ventana tipo pop-up que sale al dar clic en uno de los botones del componente JQGrid. No encuentro el modo de hacer que en vez de usar esos botones se realice cuando menos la modificacion desde las celdas del JQGrid sin necesida de usar los botones. Todo esto es usando el componente JQGrid.

Ahora tambien esta la posibilidad de realizar lo que quiero con un script de js y se como crear lo que es la tabla (el JQGrid) pero no se enlazar los datos, ademas de que no se exactamente como funciona el codigo que viene de ejemplo en la pagina QGrid, este codigo permite modificar directamente las celdas.

Entonces o una de dos, o me dicen como enlazo el script js con algun elemento donde guarde una tabla de una base datos o que opcion de las que contiene el componente JQGrid me permite realizar la modificacion directa de las celdas y que logico realice su correspondiente query "update".
  #7 (permalink)  
Antiguo 20/01/2010, 17:29
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Ayuda con JQGrid y SqlDataSource

La verdad no puedo comprometerme en ayudarte porque yo nunca uso grillas.

Pero a ver si entendí: al hacer click sobre una fila, queres poder editarla. No usar botones que esten fuera de la tabla, sino hacer un edición inline.

El tema es que al hacerle click a una fila, se dispara el evento: onSelectRow

Tendrías que enlazar ese evento con el evento que se dispara al apretar el boton edit. No?
  #8 (permalink)  
Antiguo 21/01/2010, 13:30
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda con JQGrid y SqlDataSource

para empezar no se si pueda agregarle codigo al componente por que sus funciones ya estan preestablecidas.

Y pues si es modificar inline sin usar los botones que incluye o que puedes incluir en la grilla. Voy a ver si convenso a mi jefe de dejarlo asi como viene, solo que tendria que acostumbrarse a modificar usando la ventana emergente.

Ahora me resulta otro problema pero no tiene que ver con juery o jqgrid, necesito poder graficar ciertos datos de los mismos que muestra la grilla, logico para graficar tomaria los datos de la base de datos, los guardaria en x lado y graficaria. He visto que hay como plugins o codigos para graficar, perdi esos linksy no encuentro las paginas y pues es la otra parte que debo cubrir del sistema.
  #9 (permalink)  
Antiguo 21/01/2010, 13:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Ayuda con JQGrid y SqlDataSource

Cita:
necesito poder graficar ciertos datos de los mismos que muestra la grilla, logico para graficar tomaria los datos de la base de datos, los guardaria en x lado y graficaria. He visto que hay como plugins o codigos para graficar, perdi esos linksy no encuentro las paginas y pues es la otra parte que debo cubrir del sistema.
Te recomiendo que generen un nuevo post. Quizas haya gente que conozca de esto y no entre en este post a leer todo el choclo.

En relación a tu jefe, lo mejor es que se acostumbre a usar el sistema como esta. Aqui no se trata de implementar algo nuevo sino de cambiar una interfaz de usuario. Y esto puede tomarte muuuchas hora, dias y hasta semanas siendo que el codigo te es incomprensible. No podes dedicarle tanto tiempo a esto si ya hay una manera de editar los campos. Es cuestion de que él se acostumbre a usarlos y ya.
  #10 (permalink)  
Antiguo 21/01/2010, 13:54
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Ayuda con JQGrid y SqlDataSource

Busque en google: "jquery graficos". A ver si algo de esto te sirve:
http://pixelco.us/blog/fgcharting-ex...as-accesibles/
http://www.anieto2k.com/2009/07/07/j...-y-javascript/

... y este que es mas lindo:
http://www.ribosomatic.com/articulos...cas-en-jquery/
  #11 (permalink)  
Antiguo 21/01/2010, 14:01
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda con JQGrid y SqlDataSource

gracias llegando mi casa los checo, pero no son los que habai encontrado jeje.

Edito: ya cheque y uno de los links muestra las graficas que necesito pero tiene el inconveniente que toma los datos de una tabla y yo no creo ninguna tabla (no por codigo) sino que el componente jqgrid la genera automaticamente.

Necesitaria saber crear el script completo para llenar una tabla con el jqgrid (el ejemplo de JS que puse mas arriba) y entonces si, llenada la tabla, crear la grafica. Ademas no voy a tomar todos los datos de la tabla (la grilla) para crear la grafica.

Bueno como sea empiezo a ver estos plugins de jquery para graficar por el momento usando una tabla estatica y despues veo para hacerlo con jqgrid.

Última edición por LOD_Fredy; 21/01/2010 a las 15:58
  #12 (permalink)  
Antiguo 24/01/2010, 23:33
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda con JQGrid y SqlDataSource

He estado calando varios de estos plugins y solo uno lo he podido hechar a andar, tiene la ventaja de que usa C# para crear la grafica, apenas empiezo a moverle, espero poder hacer todo lo que necesito con este plugin.
El puglin del que hablo de se llama WebChart y se compone de un archivo dll que permite realizar la graficacion utilizando la libreria System.Drawing. En fin solo me queda esta semana para terminar esto y podria decir que ya solo me falta graficar si el cliente acepta lo que llevo de avance.

Segun avance con este plugin voy dejando comentarios y el codigo que he utilizado.

Edito: Estoy viendo que va a ser dificil hacer lo que necesito, tendre que cambiar un poco lo que es la tabla donde se almacena la información.

Última edición por LOD_Fredy; 25/01/2010 a las 10:23
  #13 (permalink)  
Antiguo 27/01/2010, 00:07
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda con JQGrid y SqlDataSource

Ya funcionan las grillas, no pude hacer la edicion inline desgraciadamente, ahora solo me faltan las graficas para tener algo decente que mostrarle al cliente.

Etiquetas: jqgrid, sqldatasource
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:36.