给网格中的下拉列表赋值

本文关键字:下拉列表 赋值 网格 | 更新日期: 2023-09-27 18:13:34

我在网格中有一个下拉列表,我有一个foreach循环,通过查询和匹配数据,并为每一行填充下拉列表。但是它把所有的数据都放在同一个下拉列表中。第1行,第2行,第3行,等等,都合并到下拉列表中。我试图使它在第一行的下拉列表有第一行的信息,第2行下拉列表有第2行信息,等等。

我到目前为止有这个:

protected void grdExceptions_ItemDataBound(object sender, GridItemEventArgs e)
  {
    var linqContext = new DataClassesDataContext();
    var sessionleads = from q in linqContext.Leads where q.SessionID == SessionId orderby q.RowIndex select q;
    if (e.Item is GridDataItem)
      {
        foreach(var p in sessionleads)
          {
            var lQuery = (from a in gServiceContext.CreateQuery("account") where (a["name"].Equals(p.AccountName) &&
                                         a["address1_postalcode"].Equals(p.ZipCode) &&
                                         a["address1_stateorprovince"].Equals(p.State)) ||
                                        (a["address1_line1"].Equals(p.Address1) &&
                                         a["address1_postalcode"].Equals(p.ZipCode) &&
                                         a["address1_city"].Equals(p.City))
          select new
          {
            Name = !a.Contains("name") ? string.Empty : a["name"]
          });
          foreach (var a in lQuery)
            {
              ((e.Item as GridDataItem)["Account"].FindControl("AccountList") as DropDownList).Items.Add(new ListItem(a.Name.ToString()));
            }
          }
    }
  }

我在网格的ItemTemplate中有一个下拉列表。对于第一行,我希望找到的匹配项分配给第一行的下拉列表,对于第二行,我希望找到的匹配项分配给第二行的下拉列表,等等

我做错了什么?

谢谢!

给网格中的下拉列表赋值

当ItemDataBound为每个新行触发时,似乎您期望SessionId以某种方式不同,但它只是保持不变。您是否有一些其他的过滤条件可以添加到where子句中?或者以某种方式为每个新行更新SessionId ?