У меня есть шаблонное Gridview, в котором я хочу отобразить только один столбец (Вопросы - это база данных), а другой - раскрывающийся список возможных ответов (Параметры).Значения выпадающего списка меняются в зависимости от типа вопроса.Есть только 2 типа: T / F или дальний (Lo, Med, High).Так что, если вопрос типа 1, выпадающий список должен просто отображать T / F.Точно так же, если это тип II.
Ниже показан вид сетки и метод, который загружает выпадающий список (предположительно):
<asp:GridView AutoGenerateColumns="false" runat="server" ID="SurveyView">
<Columns>
<asp:BoundField HeaderText="Questionnaire" DataField="Questionaire" ReadOnly="true"/>
<asp:BoundField HeaderText="QuestionID" DataField="Id" ReadOnly="true" Visible="false" />
<asp:BoundField HeaderText="IsBoolean" DataField="Filter" ReadOnly="true" Visible="false" />
<asp:TemplateField HeaderText="Response">
<ItemTemplate>
<asp:DropDownList ID="UserDropDown" runat="server" AppendDataBoundItems="true" DataSource="LoadDropdownList(Filter)" DataTextField="key" DataValueField="value"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
public Dictionary<String, String> GenerateDropdownList(bool BooleanFilterStatus)
{
Dictionary<String, String> tempStores = new Dictionary<string, string>() ;
if (BooleanFilterStatus)
{
tempStores.Add(Boolean.TrueString, Boolean.TrueString);
tempStores.Add(Boolean.FalseString, Boolean.FalseString);
}
else
{
tempStores.Add("NONE", "NIL");
tempStores.Add("Lo", "Low");
tempStores.Add("Medium", "Medium");
tempStores.Add("High", "High");
}
return tempStores;
}
Я надеялся, что при использовании LoadDropdownList () он будет заполнять список.Но это не похоже на работу.
Будем благодарны за любые идеи или другие возможные решения.