zoukankan      html  css  js  c++  java
  • sharepoint中查询列表绑定gridview

    #region 数据源绑定
            /// <summary>
            /// 数据源绑定
            /// </summary>
            /// <param name="strQuery"></param>
            private void BindData(string strQuery)
            {
                using (SPSite site = new SPSite(Comment.webURL))     //http://moss:8000为你自己对应的网站集名称 
                {
                    foreach (SPWeb web in site.AllWebs)
                    {
                        SPList list = web.Lists["任务"];
                        SPQuery query = new SPQuery();
                        query.ViewFields = "<FieldRef Name='ID' /><FieldRef Name='Title' /> <FieldRef  Name='DocIcon' />    <FieldRef      Name='LinkTitle' />    <FieldRef      Name='AssignedTo' />    <FieldRef      Name='Status' />    <FieldRef      Name='Priority' />    <FieldRef      Name='DueDate' />";//列表的字段名称
                        query.Query = strQuery;
                        this.GridViewList.DataSource = list.GetItems(query).GetDataTable();
                        this.GridViewList.DataBind();
                    }
                }
            }
            #endregion

    //是得到查询条件

    效果:image

    方法一:

    private string GetWhere()
            {
                //预定结束时间段查询
                string strQuery = " ";
                string stringBookingBegin = this.txtBookingTimeB.Text.Trim();
                string txtBookingTimeE = this.txtBookingTimeE.Text.Trim();
                if (stringBookingBegin.Length > 0 && txtBookingTimeE.Length <= 0)
                {
                    strQuery += "<Leq><FieldRef Name='BookingEndTime' /><Value IncludeTimeValue='TRUE' Type='DateTime'>" + stringBookingBegin + "</Value><Leq>";
                }
                if (stringBookingBegin.Length <= 0 && txtBookingTimeE.Length > 0)
                {
                    strQuery += "<Geq><FieldRef Name='BookingEndTime' /><Value IncludeTimeValue='TRUE' Type='DateTime'>" + txtBookingTimeE + "</Value></Geq>";
                }
                if (this.txtBookingTimeE.Text.Trim().Length > 0 && this.txtBookingTimeB.Text.Trim().Length > 0)
                {
                    strQuery += string.Format(@"<And><Geq><FieldRef Name='BookingEndTime'/><Value Type='DateTime'>{0}</Value></Geq>
    <Leq><FieldRef Name='BookingEndTime'/><Value Type='DateTime' >{1}</Value></Leq></And>", stringBookingBegin, txtBookingTimeE);
                }
                       if (this.ddlMRName_Query.SelectedIndex > 0)
                {
                    strQuery += "<Eq><FieldRef Name='Title' /><Value Type='Text'>" + this.ddlMRName_Query.SelectedItem.Text.Trim() + "</Value></Eq>";
                }
                     if (!string.IsNullOrEmpty(strQuery.Trim()))
                {
                    strQuery = "<Where><And> " + strQuery + "  <Eq><FieldRef Name='State' /><Value Type='Text'>有效</Value></Eq></And></Where>";
                }
                else
                {
                    strQuery = "<Where><Eq><FieldRef Name='State' /><Value Type='Text'>有效</Value></Eq></Where>";
                }
                return strQuery;
            }

    方法二:linq to sharepoint

    #region 查询统计
            /// <summary>
            /// 查询统计按钮
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void btnSearch_Click(object sender, EventArgs e)
            {
                MRBModelDataContext a = new MRBModelDataContext(Comment.webURL);
                EntityList<MeetingRoomBookingItem> someList = a.GetList<MeetingRoomBookingItem>("列表名称");//.Where<a.MeetingRoomBooking>(getcon())
                var MRBLists = from m in someList
                               where GetCondition(m)
                               group m by new { m.Title, m.Region, m.BookingPerson } into demGrp
                               select
                                    new
                                    {
                                        MRBName = demGrp.Key.Title,
                                        BooingPerson = demGrp.Key.BookingPerson,
                                        BookingCount = demGrp.Count(),
                                        info = demGrp
                                    };
                GridView1.DataSource = MRBLists;
                GridView1.DataBind();

            }
            #endregion

      #region 查询条件
            /// <summary>
            /// 查询条件
            /// </summary>
            /// <param name="mrl"></param>
            /// <returns></returns>
            private bool GetCondition(MeetingRoomBookingItem mrl)
            {
                //预定开始时间段查询
                bool boolResult = true;

                string stringBookingBegin = this.txtBookingTimeB.Text.Trim();
                string txtBookingTimeE = this.txtBookingTimeE.Text.Trim();
                if (stringBookingBegin.Length > 0)
                {
                    boolResult &= mrl.BookingBeginTime >= Convert.ToDateTime(stringBookingBegin);
                }

                if (txtBookingTimeE.Length > 0)
                {
                    boolResult &= mrl.BookingBeginTime <= Convert.ToDateTime(txtBookingTimeE);
                }
                if (this.ddlMRName_Query.SelectedIndex > 0)
                {
                    boolResult &= mrl.Title.Equals(this.ddlMRName_Query.SelectedItem.Text.Trim());
                }            if (this.ddlRegion.SelectedIndex > 0)
                {
                    boolResult &= mrl.Region.Equals(this.ddlRegion.SelectedValue.Trim());
                }
                return boolResult;
            }
            #endregion

  • 相关阅读:
    intellij idea tomcat 启动不生成war包
    php中的Trait的使用方法
    c++ 命名的强制类型转换
    【递归与动态规划】正则表达式匹配
    c程序设计语言 by K&R(四)输入与输出
    c程序设计语言 by K&R(三)结构
    深入理解c语言指针与内存
    c程序设计语言 by K&R(一)一些c语言基础知识
    c程序设计语言 by K&R(二)指针与数组
    第一次在这里
  • 原文地址:https://www.cnblogs.com/Bany/p/2968549.html
Copyright © 2011-2022 走看看