Рейтинг:
21
OriginalGriff
Попробуйте сгруппировать их:
List<T1> list1 = new List<T1>();
list1.Add(new T1 { RegionID = 1, Region = "Paris" });
list1.Add(new T1 { RegionID = 2, Region = "Canada" });
list1.Add(new T1 { RegionID = 3, Region = "UK" });
list1.Add(new T1 { RegionID = 4, Region = "Paris" });
list1.Add(new T1 { RegionID = 5, Region = "Canada" });
list1.Add(new T1 { RegionID = 6, Region = "London" });
var list = from ta in list1
group ta by ta.Region into newgroup
orderby newgroup.Key
select newgroup;
foreach (var t in list)
{
T1 t1 = t.First();
Console.WriteLine("{0}:{1}", t1.RegionID, t1.Region);
}
super_user
когда я попробую это .
protected void Page_Load(отправитель объекта, EventArgs e)
{
Чай Т1 = Т1 новые();
ВАР список1 = чай.таблица1.Список();
var list = from ta in list1
группа ta по Ta. Region в новую группу
newgroup заказатьпо.Ключ
выберите newgroup;
это показывает тот же вывод, что и повторяющиеся значения в выпадающем списке
если (! страница.IsPostBack)
{
regiondrop. DataSource = список;
regiondrop.DataTextField = " Регион";
regiondrop.DataValueField = " RID";
regiondrop.Привязку();
}
}
OriginalGriff
Да...вот почему в моем коде есть вызов First в foreach...
Если вы хотите использовать список напрямую, Измените выбор:
выберите newgroup.Первый();
Рейтинг:
19
Karthik_Mahalingam
попробовать это
var list1 = tea.t1.ToList();
Dictionary<int, string> dict = new Dictionary<int, string>();
foreach (var item in list1.OrderBy(k=>k.Region))
{
if(!dict.ContainsValue(item.Region))
dict.Add(item.RegionID, item.Region);
}
var output = dict.Select(k => new { RegionId = k.Key, Region = k.Value }).ToList();
egiondrop.DataSource = output;
regiondrop.DataTextField = "Region";
regiondrop.DataValueField = "RegionId";
regiondrop.DataBind();
super_user
это показывает тот же вывод, что и повторяющиеся значения в выпадающем списке
Karthik_Mahalingam
опубликуйте код.
super_user
protected void Page_Load(отправитель объекта, EventArgs e)
{
Чай Т1 = Т1 новые();
ВАР список1 = чай.Т1.Список();
Словарь и Л;int, строка=""&ГТ; дикт = новый словарь и Л;int, строка=""&ГТ;();
foreach (var item in list1.Заказатьпо(к =&ГТ; к. Области))
{
если (! дикт.ContainsValue (item.Регион))
словарь.Добавить элемент.Либо, поз.Регион);
}
var output = dict.Выберите(к =&ГТ; новое { либо = к.Ключ, области = к.Значение }).Список();
если (! страница.IsPostBack)
{
regiondrop. DataSource = список;
regiondrop.DataTextField = " Регион";
regiondrop.DataValueField = " RegionID";
regiondrop.Привязку();
}
}
Karthik_Mahalingam
если (! страница.IsPostBack)
{
regiondrop.Источник данных = выход
Karthik_Mahalingam
Спасибо Мацей Лос
super_user
хорошо, это сделано, но я не понимаю этих строк.. Словарь и Л;int, строка=""&ГТ; дикт = новый словарь и Л;int, строка=""&ГТ;();
foreach (var item in list1.Заказатьпо(к=&ГТ;к. Области))
{
если (! дикт.ContainsValue (item.Регион))
словарь.Добавить элемент.Либо, поз.Регион);
}
super_user
есть ли другой простой способ ??
Karthik_Mahalingam
да доступно
разместите код класса для T1
super_user
///
/// Документация по метаданным отсутствует.
///
[EdmEntityTypeAttribute(Имя_пространства_имен="TrackDataModel", имя="Т1")]
[Упорядочиваемый()]
[DataContractAttribute(IsReference=true)]
общественный разделяемого класса Т1: EntityObject
{
#регион Заводской метод
///
/// Создание нового объекта Т1.
///
/// <имя парам="либо">По первоначальной стоимости либо собственность.&ЛТ;/парам и GT;
public static t1 Createt1(global:: System. Int32 regionID)
{
t1t1 = новый t1();
Т1.Либо = либо;
T1 возврата;
}
#endregion
#примитивные свойства региона
///
/// Документация по метаданным отсутствует.
///
[EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[Атрибут datamemberattribute()]
public global:: System. Int32 RegionID
{
получить
{
вернуться _RegionID;
}
набор
{
if (_RegionID != значение)
{
OnRegionIDChanging(значение);
ReportPropertyChanging ("RegionID");
_RegionID = StructuralObject.SetValidValue(значения);
ReportPropertyChanged ("RegionID");
OnRegionIDChanged();
}
}
}
private global:: System. Int32 _RegionID;
частичная пустота OnRegionIDChanging(global:: System.Int32 value);
частично недействительным OnRegionIDChanged();
///
/// Документация по метаданным отсутствует.
///
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[Атрибут datamemberattribute()]
публичная глобальная:: система.Струнная Область
{
получить
{
вернуться _Region;
}
набор
{
OnRegionChanging(значение);
ReportPropertyChanging ("Регион");
_Region = StructuralObject.SetValidValue(значение true);
ReportPropertyChanged ("Регион");
Метода onregionchanged();
}
}
частная глобальная:: система.Строка _Region;
частичная пустота OnRegionChanging(global:: System.Строковое значение);
частично недействительным метода onregionchanged();
///
/// Документация по метаданным отсутствует.
///
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[Атрибут datamemberattribute()]
общественного значения null&ЛТ;глобальный::системы.датавремя&ГТ; начальная дата
{
получить
{
вернуться _StartDate;
}
набор
{
OnStartDateChanging(значение);
ReportPropertyChanging("Начальная Дата");
_StartDate = StructuralObject.SetValidValue(значения);
ReportPropertyChanged("Начальная Дата");
OnStartDateChanged();
}
}
частная допускает значения null&ЛТ;глобальный::системы.датавремя&ГТ; _StartDate;
частично недействительным OnStartDateChanging(значения null&ЛТ;глобальный::системы.датавремя&ГТ; ценим);
частично недействительным OnStartDateChanged();
///
/// Документация по метаданным отсутствует.
///
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[Атрибут datamemberattribute()]
общественного значения null&ЛТ;глобальный::системы.датавремя&ГТ; конечная дата
{
получить
{
вернуться _EndDate;
}
набор
{
OnEndDateChanging(значение);
ReportPropertyChanging("Конечная Дата");
_EndDate = StructuralObject.SetValidValue(значения);
ReportPropertyChanged("Конечная Дата");
OnEndDateChanged() < div id= " Edit
Karthik_Mahalingam
T1 tea = new T1();
var list1 = tea.t1.ToList();
List<myregion> listRegion = new List<myregion>();
foreach (var item in list1.OrderBy(k => k.Region))
{
if (!listRegion.Any(k => k.Region == item.Region))
listRegion.Add(new MyRegion() { Region = item.Region, RegionId = item.RegionID });
}
regiondrop.DataSource = listRegion;
regiondrop.DataTextField = "Region";
regiondrop.DataValueField = "RegionID";
regiondrop.DataBind();
}
public class MyRegion
{
public int RegionId { get; set; }
public string Region { get; set; }
}
</myregion></myregion>
нажмите кнопку Изменить и посмотрите фактический код, некоторые теги могут быть обрублены.