Например, нам нужно положить в telerik-оподобный control список из вот таких элементов:
Такие штуки надо генерировать в одну строку:
< telerik:radcomboboxitem runat="server" text="2010" value="10" >
Такие штуки надо генерировать в одну строку:
private const int CC_VALID_YEARS_RANGE = 9; .................................................................................... ddlYear.DataSource = Enumerable.Range(DateTime.Today.Year, CC_VALID_YEARS_RANGE) .ToDictionary(item => item.ToString(), item => (item % 1000).ToString()); ddlYear.DataTextField = "Key"; ddlYear.DataValueField = "Value"; ddlYear.DataBind();А если надо добавить ещё одну строку Year с пустым значением - нужно предварительно сбросить Dictionary в ToList() (получится List < KeyValuePair < string, string > >) и сделать insert в 0-ой индекс. Дело в том, что Dictionary<> сам по себе не сортируется - соответственно, Insert-а в нём нет и foreach перебирает его в том же порядке, в каком элементы добавились.
private const int CC_VALID_YEARS_RANGE = 9; .................................................................................... List < nKeyValuePair < string, string > > yearsList = Enumerable.Range(DateTime.Today.Year, CC_VALID_YEARS_RANGE) .ToDictionary(item => item.ToString(), item => (item % 1000).ToString()).ToList(); yearsList.Insert(0, new KeyValuePair < string,string > ("Year", String.Empty)); ddlYear.DataSource = yearsList; ddlYear.DataTextField = "Key"; ddlYear.DataValueField = "Value"; ddlYear.DataBind();
Комментариев нет:
Отправить комментарий