以前、剣道グリッドを動的に生成するこのコードに関する質問を投稿しました。
次のように列数をハードコーディングしても、現在の問題は次のとおりです。
var numberOfRows = 2;
var numberOfColumns = 12;
var columnsPerRow = numberOfColumns/numberOfRows;
エラーが発生するということですか:
First of all, what does this mean?
columnsPerRow は次のように使用されます。
var columnDefs = [];
counter = 0;
var arrayData = [];
for( var x = 0; x < result.length-1; x=x+Math.floor(columnsPerRow)+1 )
{
var tempArr = new Array();
for( var y = 0; y < columnsPerRow; y++ )
{
var num = x + y;
tempArr.push(result[num]);
}
arrayData.push(tempArr);
}
var dataTitles = [];
for( var x = 0; x < titleArray.length; x++ )
{
var head = "";
head = titleArray[x];
head = head.replace(/ /g,"");
dataTitles.push(head);
}
var counter = 0;
var columnDefs = [];
for (var i = 0; i < columnsPerRow.length; i++)
{
if (counter == (columnsPerRow - 1))
{
counter = 0;
}
columnDefs.push({ field: dataTitles[counter], template: result[i].value });
counter++;
}
グリッドは次のように表示されます。
そして、次のように列変数を非表示にすると:
/*var numberOfRows = 2;
var numberOfColumns = 12;
var columnsPerRow = numberOfColumns/numberOfRows;*/
出力は次のようになります。
ただし、列数には null 値が使用されるため、for ループはループしません。
ただし、グリッドにはデータが表示されません。
すべての JavaScript と html をこのjsfiddleに配置しました。フィドルでは機能していませんが。未使用のコードがあるかもしれません。私はそれに沿ってそれを取り除くのに忙しい。
これらのファイルが添付されています。
<link href='assets/css/kendo.custom.css' rel='stylesheet' type='text/css' />
<link href='assets/css/kendo.common.min.css' rel='stylesheet'/>
<link href='assets/css/kendo.default.min.css' rel='stylesheet' type='text/css' />
<script src='assets/js/jquery.min.js'></script>
<script src='assets/js/kendo.all.min.js'></script>
また、データがグリッドに表示されるというこの問題を修正するにはどうすればよいですか?
どんな助けでも感謝します、ありがとう...