【发布时间】:2016-10-24 08:34:32
【问题描述】:
我使用谷歌表格。 当我按照 img 1 中看到的从 10 到 99 的数字对其进行排序时,它的排序很好。
--- IMG 1 ----
但是当我使用一个数字 1-9 或超过 100 时,它的排序并不像您在 img 2 中看到的那样好。
---- IMG 2 ----
我该如何解决这个问题?
我使用以下代码。
<script type='text/javascript'>
google.load('visualization', '1', {packages:['table']});
google.setOnLoadCallback(drawTable);
function drawTable() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'ID');
data.addColumn('string', 'Name');
data.addColumn('string', 'Image');
data.addColumn('string', 'Image Size');
data.addColumn('string', 'Order');
data.addColumn('string', 'Status');
data.addColumn('string', 'Actions');
data.addRows([
<?php
if (count($slideshow))
{
foreach($slideshow as $item)
{
$namelink = anchor("$module/admin/edit/".$item['id'],$item['name']);
$subject = $item['image'];
$imagename = getImageName($subject);
$imagepath = getImagePath($subject);
$filepath = base_url().$imagepath;
$imagecont = "<img width=\"70px\" src=\'".$filepath."\' />";
$filesize = getimagesize($imagepath);
$filesizecont = "width: ".$filesize[0]. "px<br />height: ".$filesize[1]. "px";
$item = str_replace("'", "\'", $item);
/* $public_icon = ($item['public']==1 ? 'tick':'cross'); */
/* $publiclink = anchor("kaimonokago/admin/changecatBooleanStatus/$module/".$item['id']."/public",$this->bep_assets->icon($public_icon), array('class' => $item['public']. ' changestatus')); */
$active_icon = ($item['status']=='active'?'tick':'cross');
$statuslink = anchor("kaimonokago/admin/changeStatus/$module/".$item['id'],$this->bep_assets->icon($active_icon), array('class' => $item['status']. ' changestatus'));
$editlink = anchor($module.'/admin/edit/'.$item['id'],$this->bep_assets->icon('pencil'));
if ($item['status']=='inactive')
{
$deletelink = anchor('kaimonokago/admin/delete/'.$module.'/'.$item['id'],$this->bep_assets->icon('delete'), array("class" => "delete_link","onclick"=>"return confirmSubmit(\'".$item['name']."\')"));
}
else
{
$deletelink ='';
}
//$link = "testing";
echo "['".$item['id']."','".$namelink."','".$imagecont."','".$filesizecont."','".$item['slide_order']."','".$statuslink."','".$editlink.$deletelink."' ],\n";
}
}
?>
]);
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: true, allowHtml:true,width:'100%'});
}
</script>
<div id='table_div'></div>
<script>
$(window).resize(function(){
drawTable();
});
</script>
【问题讨论】:
-
看起来像是按字符串而不是按数字排序。
-
您需要将顺序从字符串更改为整数的值:
data.addColumn('string', 'Order');
标签: javascript php google-visualization