关于gridview里面的放dropdownlist,如何设默认值
<asp:TemplateFieldHeaderText="类型"><EditItemTemplate><asp:DropDownListID="DropDownList...
<asp:TemplateField HeaderText="类型">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" DataTextField="type_name"
DataValueField="type_id" DataSource='<%# GetAllType() %>' runat="server"
>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lbltype" runat="server" Text='<%#Eval("type_name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
问题是这个服务器控件中不能设置 SelectValue, 展开
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" DataTextField="type_name"
DataValueField="type_id" DataSource='<%# GetAllType() %>' runat="server"
>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lbltype" runat="server" Text='<%#Eval("type_name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
问题是这个服务器控件中不能设置 SelectValue, 展开
3个回答
展开全部
首先你的DropdDownList的DataSource是通过直接绑定数据源实现的,这样的你要设置默认值,需要特殊处理,比如这个你可以直接在GridView的RowDataBound事件中绑定DropdownList的数据,通过var ddl = e.Row.FindControl("DropdownList") as DropdownList,然后如果ddl不为空就ddl.Items.Insert(0, new ListItem("请选择", ""));也就是你的默认值,这样就行了。
但是像你说的直接添加ListItem的方案也是可以,只不过数据维护值是在Page上做,不用考虑cs端的逻辑了
但是像你说的直接添加ListItem的方案也是可以,只不过数据维护值是在Page上做,不用考虑cs端的逻辑了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的 在RowDataBound事件中 DropDownList _mydd= Row.FindControl("DropDownList1") as DropDownList;
控件都获得到了,设置默认就不用写了吧
控件都获得到了,设置默认就不用写了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-05-23
展开全部
在gridview的加载时间里面写试试,有几种加载事件可以用
追问
你的回答也太 抽象了,不过还是谢谢把,我已经解决了,
这样可以达到效果,但是,其实不用写这个,直接在服务器控件中给SelectedValue 绑定值就ok了,只是前面用Eval()绑定时,在写方法的时候忘记取那一列的值了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询