0

リピーター コントロールとバインド リスト コンテンツがあります。しかし、別のリストからもデータを取得して、この列にバインドする必要があります。以下に示すように、Linq クエリのすべてのリスト アイテムに対して getvalue メソッドを呼び出す必要があります。以下に示すように試してみると、itemscountの値は常にnullです

    public void DeptInfo() 
                    {
                    SPList olist = web.Lists["Administration"];
                    SPListItemCollection itemscoll = olist.GetItems();
                    string itemscount = string.Empty;
                    if (itemscoll.Count > 0)
                    {
                        var listcontents = (from item in itemscoll.OfType<SPListItem>()
                                   select new
                                   {
                                       itemscount = getvalue(web, item),
                                       DepartmentName = item["Title"] +  itemscount          // DepartmentName is the column in repeater                                    
                                   }); 
                        if (listcontents.ToList().Count != 0)
                        {
                            Repeater.DataSource = listcontents.ToList();
                            Repeater.DataBind();
                        }
                    }
                    }

                      public string getvalue(SPWeb web, SPListItem item)
                      {
                                    SPListItemCollection spItemCollection = null;
                                    SPList olist = web.Lists["DepartmentList"];
                                    SPQuery spQuery = new SPQuery();
                                    spQuery.Query = "<Where><Eq><FieldRef Name='Division' /><Value Type='LookupMulti'>" + Convert.ToString(item["Title"]) + "</Value></Eq></Where>";
                                    spItemCollection = olist.GetItems(spQuery);
                                    return (spItemCollection.Count.ToString());
                      }

リピーターに追加するために、すべてのアイテムのメソッドを呼び出すために変更が必要な場合は、誰でも私に提案できますか?

4

0 に答える 0