dojox.grid.DataGrid dojox.data.HtmlStore - PullRequest
0 голосов
/ 10 ноября 2009

Было бы так здорово, если бы вы могли использовать 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>

Ответы [ 2 ]

2 голосов
/ 11 ноября 2009

Я думаю, этот пример не работает из-за разрывов строк в ваших тегах th. Попробуйте написать это в одну строку:

<th>isbn</th>
0 голосов
/ 01 июня 2011

для сортировки сетки вы можете сделать grid.setSortIndex (colIndx, isAsc)

1) colIndx - это индекс столбцов сетки на основе нуля.

2) если isAsc равен true, столбец будет отсортирован в порядке возрастания.

...