IEnumerable<ReportFavorite> list = reportService.GetReportFavorites(userId);
ddlReportFavorite.Items.Add()
Linq를 사용하여 드롭 다운 목록에 목록을 추가하는 방법을 모르겠습니다. 감사.Linq를 사용하여 목록 항목을 추가하는 방법
IEnumerable<ReportFavorite> list = reportService.GetReportFavorites(userId);
ddlReportFavorite.Items.Add()
Linq를 사용하여 드롭 다운 목록에 목록을 추가하는 방법을 모르겠습니다. 감사.Linq를 사용하여 목록 항목을 추가하는 방법
사용하는 드롭 다운 제어에 따라,이 중 하나는 일할 수 :
를 그것의 항목가 IEnumerabe<ReportFavourite>
로 설정 될 수있는 경우 :
ddlReportFavorite.Items = reportService.GetReportFavorites(userId);
항목이 AddRange 메서드를 구현하는 경우 :
LINQ이 할 수있는 좋은 도구가 아니기 때문에 이러한,foreach(var reportFavourite in reportService.GetReportFavorites(userId))
ddlReportFavorite.Items.Add(reportFavourite);
어느 이러한 방법의
정말 "LINQ를 사용하여"입니다하지 않을 경우ddlReportFavorite.Items.AddRange(reportService.GetReportFavorites(userId));
(210) 또는,. LINQ는 부작용이 없습니다.
편집 : 당신이 System.Web.UI.WebControls.DropDownList
을 사용하고 있는지 귀하의 의견이 나왔다. 이 경우 Items 컬렉션은 ListItem
인스턴스 만 허용하므로 ReportFavourites에서 인스턴스를 만들어야합니다. 여기
foreach(var listItem in reportService.GetReportFavorites(userId)
.Select(r => new ListItem(r.Id, r.Name))
ddlReportFavorite.Items.Add(listItem);
을보십시오, 나는 콤보 상자가 ReportFavourite.Name를 표시하고 ReportFavourite.Id의 값이 있어야합니다 가정합니다. 이미 방법으로 데이터의 무결성을 검사 한 경우 물론, 자신의 속성을 사용
두 경우 모두 잘못된 인수가 표시됩니다. 감사. –
마지막 옵션은 항상 정상적으로 작동해야합니다. – Jens
나는 또한 마지막 옵션을 시도했다. 다시 말하지만, 'system.web.ui.webcontrols.listitemCollection.add (system.web.ui.webcontrols.listitemCollection) '에 잘못된 인수가 있습니다. 감사. –
당신에게 사용 AddRange
방법 :
var list = reportService.GetReportFavorites(userId);
ddlReportFavorite.Items.AddRange(list.ToArray());
잘못된 인수 문제가 나타납니다. –
은 또는, 당신은 단순히 말을 단지 수 :
ddlReportFavorite.Items.AddRange(reportService.GetReportFavorites(userId));
잘못된 인수 문제가 발생합니다. –
ddlReprotFavorite is an UI control and its
이후 항목을 property represent a set of controls as well you ca
N 직접 사업체를 대신 추가하지 기본 비즈니스 엔티티에서 Items 컬렉션을 자동으로 만드는 DataSource 속성을 사용합니다.
IEnumerable<ReportFavorite> list = reportService.GetReportFavorites(userId);
ddlReportFavorite.DataSource = list;
이전에는 IEnumerable로 넣었습니다. 이제 IList로 바뀌 었습니다. 지금은 잘 작동하고 있습니다. 모두에게 감사드립니다. IEnumerable<T>
int userId = workContext.CurrentUser.UserID;
var reportFavoriteList = reportService.GetReportFavorites(userId);
int count = reportFavoriteList.Count;
for (int i = 0; i < count; i++)
{
ddlReportFavorite.Items.Add(reportFavoriteList[i].FavoriteName);
}
이 방법 Union<T>
조합 두 IEnumerable<T>
년대에 의해 확장된다. 이 방법을 사용하면보다 편리합니다. 캐스팅하지 않고 ToList()
.
var reportFavoriteList = reportService.GetReportFavorites(userId);
ddlReportFavorite.Items = ddlReportFavorite.Items.Union(reportFavoriteList);
향후 참조를 위해 자세한 정보를 제공하면 더 나은 답변을 얻을 수 있습니다. 어떤 UI 기술을 사용하고 있습니까? WPF, WinForms, Silverlight, ASP.NET WebForms, ASP.NET MVC? 이 모든 것들에는 다른 통제가 있습니다. –
'ddlReportFavorite.Items'의 유형은 무엇입니까? – sll
@ sll, 이전에 IEnumerable로 넣었습니다. 이제 IList로 바뀌 었습니다. 그것은 지금 잘 작동 중입니다. 감사합니다. –