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

  • 相关阅读:
    数据库ALL和ANY的区别
    数据库-关系代数-投影
    数据库关系代数表达式学习
    数据模型的三要素
    题解 P2812 【校园网络【[USACO]Network of Schools加强版】】
    题解 P2746 【[USACO5.3]校园网Network of Schools】
    题解 P2257 【YY的GCD】
    题解 P6476 【[NOI Online #2 提高组]涂色游戏】
    题解 P2522 【[HAOI2011]Problem b】
    题解 P4782 【【模板】2-SAT 问题】
  • 原文地址:https://www.cnblogs.com/Bany/p/2968549.html
Copyright © 2011-2022 走看看