
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:
Como estoy creando la Tabla
El PlaceHolder lo tengo dentro de un div que con Jquery le doy la propiedad 'accordion' por cuestion de diseño.
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.
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


0