JQuery - Problema con plugin DataTable

 
Vista:
Imágen de perfil de Javier

Problema con plugin DataTable

Publicado por Javier (2 intervenciones) el 29/03/2016 07:16:10
Buenas amigos, tengo una consulta, haber si alguien tiene un norte que me pueda dar, estoy empezando a utilizar el plugin DataTable de jquery, el caso es el siguiente.

Estoy creando una tabla desde CodeBehind en C#, creo un StringBuilder con todos los datos que se insertaran en la tabla, al final cargo el string en un PlaceHolder, todo esto me queda bien, le paso clase CSS y todo los detalles, si se me carga como deberia, el problema esta en que no se me aplican las caracteristicas de paginacion, ni filtros ni nada, ventajas que te da el Plugin DataTable, revisando el log del explorador me manda el siguiente error,

Uncaught TypeError: Cannot read property 'mData' of undefined

A lo poco que se, esta propiedad tiene que ver con el numero de columnas, aunque como lo comente no he terminado de "empaparme" de todas las propiedades de este Plugin, he intentado pasarle la propiedad a la tabla desde $(document).ready y tambien con $(window).load pero el resultado es el mismo, he buscado en la red pero no he encontrado nada que me sirva, les dejo un poco del codigo para ver si me pueden dar un norte.

Como le paso la propiedad a la tabla:

1
2
3
4
5
<script type="text/javascript">
                $(window).load(function () {
                    $(document).find('#Tabla').DataTable();
                });
    </script>

Como estoy creando la Tabla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
private void crearTabla()
        {
 
            DataTable dt = this.Datos();
 
            StringBuilder html = new StringBuilder();
 
            html.Append("<table id='Tabla' class='display' style='width: 600px;'");
 
            html.Append("<thead>");
            html.Append("<tr>");
            foreach (DataColumn columna in dt.Columns)
            {
                html.Append("<th>");
                html.Append(columna.ColumnName);
                html.Append("</th>");
            }
            html.Append("</tr>");
            html.Append("</thead>");
            html.Append("<tbody>");
            foreach (DataRow row in dt.Rows)
            {
                html.Append("<tr>");
                foreach (DataColumn columna in dt.Columns)
                {
                    html.Append("<td>");
                    html.Append(row[columna.ColumnName]);
                    html.Append("</td>");
                }
                html.Append("</tr>");
            }
            html.Append("</tbody>");
            html.Append("</table>");
 
 
            PlaceHolder.Controls.Add(new Literal { Text = html.ToString() });
        }

El PlaceHolder lo tengo dentro de un div que con Jquery le doy la propiedad 'accordion' por cuestion de diseño.

1
2
3
4
5
6
7
8
<div id="accordion" style="width: 950px">
      <h3>Nombre</h3>
          <div>
                <div class="form-inline col-lg-12 col-sm-6 col-xs-3 ">
                      <asp:PlaceHolder ID="PlaceHolder" runat="server" />
                </div>
           </div>
</div>

Los datos los tomo desde mi base de datos y lleno un DataTable, al recorrer este DataTable lleno el encabezado y el cuerpo de la tabla, pero como les comento haga el cambio que haga siempre me marca el mismo error.

Si creo y lleno manualmente la tabla si me funciona como se debe, el problema es cuando la creo desde C#.

No se si alguien pueda darme un norte para solucionar esto, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jordi

Problema con plugin DataTable

Publicado por Jordi (12 intervenciones) el 29/03/2016 08:29:53
Hola Javier,

No estás cerrando bien el print de la etiqueta principal de la tabla, te falta cerrar con un ">". Quizás por eso no te coge la tabla, no se te inicializa y te falla todo.

1
html.Append("<table id='Tabla' class='display' style='width: 600px;'>");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Javier

Problema con plugin DataTable

Publicado por Javier (2 intervenciones) el 29/03/2016 20:39:45
Jordi pues si, tengo que aceptar que por ese descuido tan tonto me fallaba todo, te agradezco la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar