实现 JS 网格控件的相关提示

上次修改时间: 2011年6月24日

适用范围: SharePoint Foundation 2010

本文内容
控制器
筛选
暂留
打印网格
附加到事件
JsGrid.js 和 JsGrid.Gantt.js 的调试版本

控制器

JS 网格控件的控制器提示网格如何呈现内容(即显示哪些窗格和列)。该控制器启用数据源。并且该控制器了解如何处理无关的行,允许在本地没有所有数据的情况下进行编辑。

还可以定义控制器中的样式。在以下代码中,RegisterCellStyle 定义一个样式"TextRightAlign",该样式可用于使列右对齐。

<SharePoint:JSGrid ID="_grid" runat="server" /> 
<script type="text/javascript">
    Type.registerNamespace("GridManager");
    this.control;
    GridManager = function () {
        this.Init = function (jsGridControl, initialData, props) {
            control = jsGridControl;
            var dataSource = new SP.JsGrid.StaticDataSource(initialData);
            var jsGridParams = dataSource.InitJsGridParams();
            jsGridParams.styleManager.RegisterCellStyle('TextRightAlign', SP.JsGrid.Style.CreateStyle(SP.JsGrid.Style.Type.Cell, { textAlign: 'right' }));

            jsGridControl.Init(jsGridParams);
        }
    };
</script>

有关完整示例,请参阅如何:创建基本 JS 网格

筛选

以下是对于筛选内容有用的设置的列表:

  • 列隐藏/可见状态

  • 列顺序

  • 列宽度

  • 复合筛选器

  • 分组

  • 排序

  • 分割条位置

暂留

术语暂留 是指跨用户会话保留筛选器、分组、排序和视图选择首选项。每个控制器都有暂留功能。

不应跨用户会话保留的设置包括:

  • 自动筛选:保留自动筛选设置会使用户感到困惑,因为他们可能无法理解他们的视图为什么不包含数据。如果手动配置,客户端筛选器将保留。

  • 层次结构:数据集在"运行中"创建,因此难以保留;但是,会保留"显示大纲级别"设置。此设置导致视图创建前述的数据集。

  • 选定行或列

备注

在 Microsoft Office Project Server 2007 中,多数设置跨会话保留。但 Project Server 2010 仍允许选择每个页面是否保留。默认设置应为在用户设置内保留设置,除非您对仅在会话中保留首选项有强烈的实际应用要求。

打印网格

打印时,控制器以只读形式上载网格数据。在分页的数据集中,这可能是长时间运行的操作;最好打开一个新的浏览器窗口。打印由浏览器执行。如果页面不满足用户预期,用户可关闭打印窗口、添加或删除列、缩放,然后再次单击"打印"。

附加到事件

以下示例展示如何将自定义代码附加到 OnCellEditComplete 事件。

<script type="text/javascript">
    Type.registerNamespace("GridManager");

    GridManager = function () {
        this.Init = function (jsGridControl, initialData, props) {
            control = jsGridControl;
            var dataSource = new SP.JsGrid.StaticDataSource(initialData);
            var jsGridParams = dataSource.InitJsGridParams();

            // This event is triggered after the standard grid error checking.
            jsGridControl.AttachEvent(SP.JsGrid.EventType.OnCellEditCompleted, GotHere);

            jsGridControl.Init(jsGridParams);
        }
    };
    function GotHere(obj) {
        alert('Got Here, ' + obj.fieldKey);

    }
</script>

JsGrid.js 和 JsGrid.Gantt.js 的调试版本

JsGrid.js 和 JsGrid.Gantt.js 的调试版本随该产品安装,通常位于 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS。这些文件提供关于 JS Grid 的有用信息。

请参阅

任务

如何:创建基本 JS 网格

引用

Microsoft.SharePoint.JSGrid

概念

JS 网格控件小组件

其他资源

JS Grid Control Delegates