目前的代码如下
<ItemTemplate>
<asp:Label ID="lbgb05" runat="server" Text='<%#Eval("gb05")%>' Visible="False"></asp:Label>
<asp:DropDownList ID="DropDownList2" runat="server" DataSource="<%# Bindgb05() %>" DataValueField="no" DataTextField="cinvcname">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
但是只显示Bindgb05() 的items的值,无法显示Eval("gb05")的值, 其中Bindgb05()代码如下
public DataView Bindgb05()
{
DataTable dt = scanapmdt();
DataView dv2 = new DataView(dt);
dv2.RowFilter = ("parentcode='3040'");
return dv2;
}
我希望能达到要求是 Gridview1 每行 DropDownList2 控件 默认第一项的值是 Eval("gb05"), 其它行显示dv2,以方便用户选择,如何能做到呢
对gridview的databind事件(或者itembind事件,具体哪个忘记了),在事件处理程序中,通过FindControl查找控件,获取DropdownList控件,再执行数据绑定操作。
尽量不要使用服务端控件了,用html和JavaScript去实现吧
我也想,但是html和javascript如何抓到sql server的参数,我不会呀
首先你设置了lbgb05--- Visible="False",其次确保DataSource中有gb05这个字段