dojox.grid.DataGrid dojox.data.HtmlStore

dojox.grid.DataGrid dojox.data.HtmlStore,grid,dojo,Grid,Dojo,如果您可以同时使用dojox.grid.DataGrid和dojox.data.HtmlStore,那么它将非常灵活。也许有一种更简单的方法可以通过Dojo获得可排序的表,但这就是我所能想到的。。。而且它不太管用。有一个DojoCampus的例子,但它也不起作用!我错过了什么 <html> <head> <style type="text/css" media="all"> @import "http://ajax.googleapis.com/ajax/l

如果您可以同时使用dojox.grid.DataGrid和dojox.data.HtmlStore,那么它将非常灵活。也许有一种更简单的方法可以通过Dojo获得可排序的表,但这就是我所能想到的。。。而且它不太管用。有一个DojoCampus的例子,但它也不起作用!我错过了什么

<html>
<head>
<style type="text/css" media="all">
 @import "http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/resources/dojo.css";
 @import "http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojox/grid/resources/Grid.css";
 @import "http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojox/grid/resources/tundraGrid.css";
</style>

<script type="text/javascript">
var djConfig = {parseOnLoad: true};
</script>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/dojo.xd.js"></script>

<script type="text/javascript">
    dojo.require("dojox.data.HtmlStore");
    dojo.require("dojox.grid.DataGrid"); 
 dojo.require('dojo.parser');
</script>

<script type="text/javascript">
    var layoutBooks = [[{
        field: "isbn",
        name: "ISBN",
        width: 10
    },
    {
        field: "author",
        name: "Author",
        width: 10
    },
    {
        field: "title",
        name: "Title",
        width: 'auto'
    }]];
</script>

</head>
<body class=tundra>

<b>
    Standard HTML table:
</b>
<br>
<table id="myData2">
    <thead>
        <tr>
            <th>
                isbn
            </th>
            <th>
                title
            </th>
            <th>
                author
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                A9B57C
            </td>
            <td>
                Title of 1
            </td>
            <td>
                Author of 1
            </td>
        </tr>
        <tr>
            <td>
                A9B57F
            </td>
            <td>
                Title of 2
            </td>
            <td>
                Author of 2
            </td>
        </tr>
        <tr>
            <td>
                A9B577
            </td>
            <td>
                Title of 3
            </td>
            <td>
                Author of 3
            </td>
        </tr>
        <tr>
            <td>
                A9B574
            </td>
            <td>
                Title of 4
            </td>
            <td>
                Author of 4
            </td>
        </tr>
        <tr>
            <td>
                A9B5CC
            </td>
            <td>
                Title of 5
            </td>
            <td>
                Author of 5
            </td>
        </tr>
    </tbody>
</table>
<br>
<br>
<b>
    dojox.grid.DataGrid connected to the above table:
</b>
<br>
<div dojoType="dojox.data.HtmlStore" dataId="myData2" jsId="gridStore">
</div>
<div style="width: 400px; height: 200px;">
    <div id="grid" dojoType="dojox.grid.DataGrid" store="gridStore" structure="layoutBooks"
    query="{}" rowsPerPage="40">
    </div>
</div>

@进口”http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/resources/dojo.css";
@进口”http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojox/grid/resources/Grid.css";
@进口”http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojox/grid/resources/tundraGrid.css";
var djConfig={parseOnLoad:true};
require(“dojox.data.HtmlStore”);
require(“dojox.grid.DataGrid”);
require('dojo.parser');
var layoutBooks=[[{
字段:“isbn”,
名称:“ISBN”,
宽度:10
},
{
字段:“作者”,
姓名:“作者”,
宽度:10
},
{
字段:“标题”,
姓名:“职务”,
宽度:“自动”
}]];
标准HTML表格:

isbn 标题 作者 A9B57C 标题1 1的作者 A9B57F 标题2 2的作者 A9B577 标题3 3的作者 A9B574 标题4 4的作者 A9B5CC 标题5 5本书的作者

连接到上表的dojox.grid.DataGrid:

我认为这个示例不起作用,因为您的th标记中有换行符。试着在一行中写下:

<th>isbn</th>
isbn

为了对网格进行排序,您可以执行grid.setsortinex(colIndx,isAsc)

1) colIndx是网格列的从零开始的索引


2) 如果isAsc为true,则该列将按升序排序。

Yup。就这样。谢谢你,伊万!