显示长行数据的好方法

时间:2011-02-18 23:11:20

标签: user-interface

我需要将数据库中的信息记录显示给我的用户。目前,我将此信息绑定到数据网格。但是,要显示的字段太多而我的表格正在离开页面。我真的不希望我的页面有水平滚动,我不想减小字体大小..所以我想知道是否有人有更好的想法去显示长行数据?只要询问是否需要任何其他信息,thx:)

5 个答案:

答案 0 :(得分:2)

有几种方法。很大程度上取决于数据。

  1. 可选列(用户可配置 - 允许用户隐藏它们的列 不想要)。通过这种方式,您还可以拥有“很高兴”的列,但用户并不总是需要。

  2. 使用小图标代替单词 适用的地方例如,而不是“真” 放一个小勾号。

  3. 在长文本上使用省略号(...),带有 div title属性,所以他们看到完整 鼠标悬停时的文字。

答案 1 :(得分:2)

我这样做的最佳解决方案是收集最重要的信息(任何能够立即识别行的内容/行的内容),并将其余部分放在新TD和内部表的后续行中。用javascript隐藏/显示,你就是金色。

示例HTML

<tr>
    <td>Joe</td>
    <td>Jones</td>
    <td>555-555-5555 (m)</td>
    <td class="more">more..</td>
</tr>
<tr class='showme'>
    <td class='showthis' colspan="4">
        <h2>More info</h2>
        <table>
            <!-- yet more info here -->
        </table>
    </td>
</tr>

jQuery使其正常工作

$("td.more").click(function(){
    // don't hide/show the next TR itself, may cause cross-browser issues
    $(this).closest("tr").next("tr.showme").find(".showthis").slideToggle();
});

必要的CSS

.showthis { display:none; }
/* you'll want to play with padding and such for open/close states, too */

当然,你可以使它变得更复杂,但这是基本的功能。

答案 2 :(得分:1)

我知道你不喜欢水平滚动的想法,但也许如果你实现它,以便修改/冻结前几个有意义的列,水平滚动对用户来说不那么烦人了?

答案 3 :(得分:1)

页面上的水平滚动是魔鬼!但是,在这种情况下,你可以通过将GridView包装在div中并仅在div本身(即网格)上启用水平滚动来至少包含它。

<div style="overflow-x: auto;">
 //GridView
</div>

答案 4 :(得分:0)

将数据拆分为两行。尽量保持逻辑,例如,第一行的第一列将是“First Name”,第二列的第一列将是“Last Name”。然后第二列将是第一行的“街道地址”和第二行的“城市,州,邮编”。等等。

在这种情况下,使用ListView而不是GridView可能会更好。