• 列表交互中的ListFieldIterator用法


    在实现一个订单的时候往往会有表头和详细项目。这时候我们一般都是分两个表,一个表为主表,一个表子表存储着主表项目的ID。同样的在做sharepoint中我们也会遇到这个情况。我采取了一种简单的方式解决:建立两个列表。

    TM截图未命名

    首先看一下上图中我实现的功能,上部分是表头,下部分是详细信息。

    其中上部分我采用了ListFieldIterator控件具体的代码如下:

    oListFieldIterator = new ListFieldIterator();

                    oListFieldIterator.ControlMode = SPControlMode.New;

                    //获取当前站点
                    SPWeb web = SPContext.Current.Site.RootWeb;
                    //获取要显示的列表
                    SPList list = web.Lists[pListName];

                    oListFieldIterator.ListId = list.ID;
                    id = Request.QueryString["ID"];

                    if (id != "" && id != null)
                    {
                        oListFieldIterator.ControlMode = SPControlMode.Edit;
                        oListFieldIterator.ItemId = Convert.ToInt32(id);
                        newid = id;
                    }

    其中oListFieldIterator是我定义的一个ListFieldIterator控件,这样我就将列表中的字段赋值给了ListFieldIterator,由于我使用的 SPControlMode.New,他就会出所有字段的可编辑状态(上图我是编辑状态并不是新建)。

    当我们填好保存的时候代码如下:

    oListFieldIterator.ListItem.Update();

    是的,没看错。就是这么简单,只需要一句代码就可以保存,这样做起来会很迅速。

    在详细的栏目中我在后边加了几个按钮当然采取的也是sharepoint自带的弹出层方式如下图是我点击详细按钮:

    TM截图未命名

    这样就把第一个子栏目的详细内容弹出来了。弹出的代码如下:

    function openWeatherDialog(objtxt, objurl) {
            var options = {
                url: objurl,
                600,
                height: 400,
                title: objtxt,
                dialogReturnValueCallback: FindListItems
            };
            SP.UI.ModalDialog.showModalDialog(options);
        }

    在我点击编辑的时候大家也可以想到就是出现可已编辑的文本框。同样只需要一句代码就保存。保存完后再关闭的时候我们再调用一下ajax刷新一下,子栏目的列表就可以了。

  • 相关阅读:
    PHP输出语法:echo、var_dump、print、print_r区别对比
    深浅拷贝
    deepin
    linux 扩容磁盘空间
    tcpdump抓包与tcp握手
    linux 搭建FTP
    ubuntu基本配置
    linux 安装kmv创建虚拟机后网络配置
    selenium + pyautogui 实现淘宝自动登录
    pycharm 加载不出来已安装的selenium包或者其他已安装的package
  • 原文地址:https://www.cnblogs.com/Believeme/p/2696506.html
Copyright © 2020-2023  润新知