我想在用户编辑行时在我的GridView中以DropDownList的形式显示一个字段。 DropDownList将预填充两个值,“是”和“否”,并根据用户选择的值我想设置一个变量。编辑GridView时的显示下拉列表
例如:
我有一个名为active的字段。 1 =有效,0 =未激活。虽然对于用户,我希望他们将Active设置为“是”(1)或“否”(0)。当编辑一行时,他们可以从下拉列表中选择“是”或“否”,它会将变量设置为1或0,这样我就可以将它发回SQL更新。
我发现这个MSDN article。
但它只告诉我如何从DataSource填充DropDownList,这对我不起作用,因为每个字段对于活动都有yes或no。即使只是在查看GridView时,它也会显示下拉菜单,而不仅仅是在编辑时。
我希望这是有道理的,谢谢你的帮助。
编辑
这里是我现在的代码,它几乎就像我想它。现在我需要做的就是如果Active的值为“True”,则将标签文本更改为“Yes”,如果Active的值为“False”,则将标签文本更改为“No”。
<asp:TemplateField HeaderText="Active" SortExpression="Active" >
<ItemTemplate>
<asp:Label ID="lblActive" runat="server" text='<%# Eval("Active") %>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" SelectedValue='<%# Bind("Active") %>'>
<asp:ListItem Text="Yes" Value="True"></asp:ListItem>
<asp:ListItem Text="No" Value="False"></asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
感谢所有的回复。我还有一个问题,请参阅上文。 – Will 2011-05-23 13:47:17
我将Eval值传递给后面代码中的方法来解决问题。 – Will 2011-05-24 13:44:03