- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 ajax 加载数据并在我的 DataTable 中动态生成列名。我的 DataTable 有不同的列数,具体取决于用户的选择。(有一个下拉列表)。
例如,下拉列表中有Southern Province和Northern Province两个选项。 Southern Province 表有 4 列,Northern Province 表有 6 列。
场景一
第一个用户选择 Southern Province,它有 4 列。然后它生成表没有错误,但是之后如果用户选择具有 6 列的 Northern Province,则不会生成表并且 js 控制台打印错误如下。
未捕获的类型错误:无法读取未定义的 jquery.dataTables.js:3828 的属性“样式”
场景二
第一个用户选择 Northern Province,它有 6 列。然后它生成表没有错误,但是之后如果用户选择具有4列的Southern Province,则不会生成表并且js控制台打印错误如下。
未捕获的类型错误:无法读取未定义的 jquery.dataTables.js:6122 的属性“mData”
但如果两个表的列数相同,则两个表都不会出错。
我该如何解决这个问题?
这是JS代码
jQuery(document)
.ready(
function() {
$('#province-list').change(
function() {
var prov = $(this).val();
if (prov == "sp") {
make_SP();
} else if (prov == "np") {
make_NP();
}
});
function make_SP() {
$("#dataTables-res_item")
.dataTable(
{
"bDestroy" : true,
"bProcessing" : false,
"bServerSide" : true,
"sAjaxSource" : "/province_list_view?p_name=sp",
"aoColumns" : [
{
"mData" : "result_date",
"sTitle" : "Result Date"
},
{
"mData" : "result_day",
"sTitle" : "Result Day"
},
{
"mData" : "draw_number",
"sTitle" : "Draw Number"
},
{
"mData" : "draw_time",
"sTitle" : "Draw Time"
} ],
"order" : [ [ 0, "desc" ] ]
});
};
function make_NP() {
$("#dataTables-res_item")
.dataTable(
{
"bDestroy" : true,
"bProcessing" : false,
"bServerSide" : true,
"sAjaxSource" : "/province_list_view?p_name=np",
"aoColumns" : [
{
"mData" : "result_date",
"sTitle" : "Result Date"
},
{
"mData" : "result_day",
"sTitle" : "Result Day"
},
{
"mData" : "draw_number",
"sTitle" : "Draw Number"
},
{
"mData" : "draw_time",
"sTitle" : "Draw Time"
},
{
"mData" : "draw_place",
"sTitle" : "Draw Place"
},
{
"mData" : "draw_person",
"sTitle" : "Agent"
} ],
"order" : [ [ 0, "desc" ] ]
});
};
});
最佳答案
当更新后的数据与之前的数据列数不同时,我遇到了同样的问题。配方非常简单!在列数发生变化的情况下,Destroy 函数
与$ 结合使用("#datatable").empty();
。因此,在重新加载数据之前,您的代码将包含以下几行:
if (dataTableObject) { // Check if DataTable has been previously created and therefore needs to be flushed
dataTableObject.fnDestroy(); // destroy the dataTableObject
// For new version use table.destroy();
$('#' + DataTableDivID).empty(); // Empty the DOM element which contained DataTable
// The line above is needed if number of columns change in the Data
}
// DataTable data loading/reloading codes comes here
总的来说,您的代码可能如下所示:
if(dataTableObject) { // Check if table object exists and needs to be flushed
dataTableObject.fnDestroy(); // For new version use table.destroy();
$('#myTable').empty(); // empty in case the columns change
}
var data = (province=='sp') ? sp : np;
var columns = (province=='sp') ? spColumns : npColumns;
dataTableObject = $('#myTable').DataTable({
columns: columns,
data: data
});
关于javascript - 具有不同列数的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26480434/
您如何计算Oracle表中的列数? 最佳答案 SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO' 应该给你foo中的列数。您可
我有一个宽度为 100% 的 div,里面有大约 10 张图片,所有图片的宽度和大小都不同。我希望能够无缝地将这些图像彼此 float ,我已经做到了,但它们不会在屏幕上拉伸(stretch),它们都
请看下面的代码,表格应该根据下面selected id选项中选择的输入更改行数,但只读取select id的第一个值,行数不会根据选择,你能指出我代码中的错误吗? http://jsfiddle.ne
我需要一个可以在 3×3 和 4×4 之间切换的动态 gridlayout。我可以 setRowCount 和 setColumnCount 从 3 到4 但不是从 4 到 3。它会显示以下问题: C
这里有一个没有真正答案的类似问题:CSS columns bug — 5 column count only showing 4 (with images) 我正在使用 column-count 来显
我正在尝试找到一种方法来填充摊销时间表,如下所示。 我目前使用的公式是: =IF($B2=$1:$1,$A2/$C2," ") 但是,这仅填充了第一个点(“起点”),我想做的是根据摊销期抵消这一点。期
我运行以下代码: import cv2 import numpy as np img_file='pokemon.jpg' img=cv2.imread(img_file) # print tota
我正在使用 asp.net 和 vb。这里我将数据绑定(bind)到Gridview。该数据集有 5 条记录,3 列,并且 gridview 显示 5 条记录,3 列。但 Gridview.colum
我已经为我的数据库苦苦挣扎了一段时间,几乎不可能找到我的老师。我的代码如下: INSERT INTO `database28`.`activity` VALUES ("Stefan", 1.1.2.2
我有一个执行 SQL 命令的 python 脚本,并尝试将所有数据插入表中。问题是我有一个条目列表,例如: "Bob", "bob@gmail.com" "John", "john@gmail.com
有谁知道这是否可以通过 bootstrap mixins 来完成。 列(父级数) 像什么Neat有。 在 Neat the Columns 中,mixins 的工作方式如下 @mixin span-c
我有这样的网址:http://xn----7sbabhi8cwaajmue5o.xn--p1ai/cars/search/by_man_and_model?by_manufacturer=115 你可
使用 Bootstrap 3,我正在寻找一种网格布局,其中列宽在任何屏幕分辨率下都是固定的(比如 200 像素),但它们的数量取决于屏幕宽度。 换句话说,我知道列的宽度,但我不知道每行有多少列,因为这
public class SmallestColumn2{ public static void main(String[] args){ int [][] smallest
如果我只有 9 列,但我想将它们分散到 100% 的 div。如何做到这一点? NSW VIC QLD WA SA TAS ACT N
我想在这里更改列的顺序: #container { position: relative; width: 600px; } #column-wrapper { -webkit-
1、df=DataFrame([{‘A':'11','B':'12'},{‘A':'111','B':'121'},{‘A':'1111','B':'1211'}])
我想将csv文件形式的数据导入表中。[使用Oracle SQL Developer]。我有数百个文件,每个文件有大约50列。 从SQL * Loader Wiki(http://www.orafaq.
好吧,这对我来说似乎很基础,尽管我找不到任何关于如何实现它的信息。 假设我有某种 QGridLayout 包含相同大小的小部件。现在我想根据布局大小更新其行数/列数。 因此,例如在相对较宽的屏幕上它看
我在 https://cwiki.apache.org/confluence/display/Hive/Home 中找不到任何记录在案的限制。 我的猜测是行数或列数没有限制。文件大小受文件系统限制。通
我是一名优秀的程序员,十分优秀!