给网格中的下拉列表赋值
本文关键字:下拉列表 赋值 网格 | 更新日期: 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 ?