在这里摆弄。但是它什么也没显示。我不知道为什么。
2D阵列的结构如下:
数组([0] =>数组([0] =>名字1 =>年龄[2] => CGPA)1 =>数组([0] => Alex 1 => 23 [2] => 2.5)[2 ] =>数组([0] => Bob 1 => 24 [2] => 3)[3] =>数组([0] => Mike 1 => 22 [2] => 3.9)))
我们需要将该数组中的数据加载到在YUI模块中创建的数据表中。
因此,从我的努力中得到的理解,我认为我们无法在YUI模块块内编写循环或代码。(如果我错了,请告诉我)否则很容易,我可以简单地使用for循环。
我仍然知道我需要在这里使用for循环。但是我无法创建逻辑,因为我无法将代码插入到YUI模块的代码块中。代码如下。
为了便于理解,我通过引用给定数组的索引来插入数据。它工作得很好,但是我们不能使用诸如此类的索引,0 1 2 3
因为我们不知道2D array
它将包含的1D数组和1D数组的长度是多少。那么有人可以帮我吗?
M.mod_quiz.init_dataTable = function(Y, params) {
var $rowArray= params.key1;
alert($rowArray.length);
/*for (i=0; i<$rowArray.length; i++) {
for (j=0; j<$rowArray[0].length; j++) {
}
}*/
YUI().use("datatable-sort", function(Y) {
var cols = [
/*for (i=0; i<$rowArray.length; i++) {
{key:"Column "+i , label: $rowArray[0][i] , sortable=true}
}*/
{key:"Company", label:$rowArray[0][0], sortable:true},
{key:"Phone", label:$rowArray[0][1], sortable:true},
{key:"Contact", label:$rowArray[0][2], sortable:true}
],
data = [
{Company:$rowArray[1][0], Phone:$rowArray[1][1], Contact:$rowArray[1][2]},
{Company:$rowArray[2][0], Phone:$rowArray[2][1], Contact:$rowArray[2][2]},
{Company:$rowArray[3][0], Phone:$rowArray[3][1], Contact:$rowArray[3][2]}
],
table = new Y.DataTable({
columns: cols,
data : data,
summary: "Contacts list",
caption: "Table with simple column sorting"
}).render(params.key2);
});
};
看起来您想创建一个DataTable
对象,但是您的要求是,columns
构造函数的命名属性必须是动态的,而不是静态的。正确的?
仅仅因为大多数每个YUI示例都将columns
属性显示为嵌入式数组,并不意味着就必须这样做。您可以动态构建它...
YUI().use("datatable-sort", function(Y) {
// Build the column definitions dynamically, based on the names in $rowArray[0].
var cols = [];
for (i=0; i<$rowArray[0].length; i++) {
cols.push( { key:$rowArray[0][i], label:$rowArray[0][i], sortable:true } );
}
var data = [
...
至于您提供的JSFiddle(谢谢!),则有对Name / Age / CGPA和Company / Phone / Contact的引用的混合。您需要理顺。即使在那之后,JSFiddle也有例外,但是我没时间了。您可以使用浏览器的内置调试器来捕获异常并对其进行调试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句