zoukankan      html  css  js  c++  java
  • SharePoint 2010 主从表关系 主表读取从表的个数

    我写的方法很普通,如果有更好的写法,请分享

    针对Lookup字段的查询还是有点不同的,在下面的代码里会描述出来

    先介绍两个列表,数据分组与数据字典,图片都好说明,就截图了

    这个不难,就直接写代码了

    using (SPSite site = new SPSite("http://moss:168"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList list = web.Lists["数据分组"];
                        SPQuery query = new SPQuery();
                        query.ViewFieldsOnly = true;
                        query.ViewFields = string.Concat(
                            "<FieldRef Name='ID'/>",
                            "<FieldRef Name='" + list.Fields["编码"].InternalName + "' />",
                            "<FieldRef Name='" + list.Fields["名称"].InternalName + "'/>"
                            );
                        SPListItemCollection listItemCollection = list.GetItems(query);
                        foreach (SPListItem item in listItemCollection)
                        {
                            Console.WriteLine(item["ID"] 
                                + "  " + item[list.Fields["编码"].InternalName] 
                                + "  " + item[list.Fields["名称"].InternalName]
                                + "  " + getDictCount(web, item[list.Fields["名称"].InternalName].ToString()));
                        }
                    }
                }

    下面是 getDictCount的方法

    public static string getDictCount(SPWeb web, string GroupName)
            {
                SPList list = web.Lists["数据字典"];
                SPQuery query = new SPQuery();
                query.ViewFieldsOnly = true;
                query.Query = string.Concat(
                    "<Where>",
                        "<Eq>",
                            "<FieldRef Name='" + list.Fields["分组"].InternalName + "'/>",
                            "<Value Type='Lookup'>" + GroupName + "</Value>",
                        "</Eq>",
                    "</Where>"
                    );
                SPListItemCollection listItem = list.GetItems(query);
                return listItem.Count.ToString();
            }

    如果有写法简单的兄弟,请分享一下,呵呵

  • 相关阅读:
    Linux 高性能server编程——高级I/O函数
    中国儿童移动游戏市场解读 潜力巨大有待开发
    HDU 2152 Fruit (母函数)
    Currying vs Partial Application
    我的最爱Lambda演算——开篇
    函数式编程-数据结构+算法
    高阶函数 、高阶类型
    高阶函数-哈哈
    备份-泛函编程(23)-泛函数据类型-Monad
    高阶函数
  • 原文地址:https://www.cnblogs.com/Fengger/p/2553827.html
Copyright © 2011-2022 走看看