Например, нам нужно положить в 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();
Комментариев нет:
Отправить комментарий