满分吐血急求DataGrid中DropDownList的三级联动的思路,顶者有分,解决再开贴谢
<asp:TemplateColumn HeaderText= "岗位 ">
<ItemTemplate>
<asp:Label id=dd_bm runat= "server " Text= ' <%# DataBinder.Eval(Container, "DataItem.部门 ") %> '>
</asp:Label>
<asp:Label id=dd_bz runat= "server " Text= ' <%# DataBinder.Eval(Container, "DataItem.班组 ") %> '>
</asp:Label>
<asp:Label id=Label2 runat= "server " Text= ' <%# DataBinder.Eval(Container, "DataItem.岗位 ") %> '> </asp:Label> </ItemTemplate> <FooterTemplate> <asp:DropDownList id=diaodong_mydown1 runat= "server " Width= "58px " Height= "45px "> </asp:DropDownList> <asp:DropDownList id= "diaodong_mydown2 " runat= "server " Width= "70px " Height= "45px "> </asp:DropDownList <asp:DropDownList id= "diaodong_mydown3 " runat= "server " Width= "80px " > </asp:DropDownList> </FooterTemplate>
<EditItemTemplate>
....
</EditItemTemplate> </asp:TemplateColumn>
单纯的三级联动能做到,但是跟DataGrid连用就一头雾水,求高人指条路
顶者有分,解决再开满分贴答谢
[解决办法]
沙发............
[解决办法]
虽然不懂..... 等带高人来 指点
[解决办法]
帮顶 来抢分了
[解决办法]
<FooterTemplate> <asp:DropDownList AutoPostBack= "true " id= "diaodong_mydown1 " runat= "server " OnSelectedIndexChanged= "diaodong_mydown1_SelectedIndexChanged " Width= "58px " Height= "45px "> <asp:ListItem value= "1 "> A </asp:ListItem> <asp:ListItem value= "2 "> B </asp:ListItem> </asp:DropDownList> <asp:DropDownList AutoPostBack= "true " id= "diaodong_mydown2 " runat= "server " OnSelectedIndexChanged= "diaodong_mydown2_SelectedIndexChanged " Width= "70px " Height= "45px "> <asp:ListItem value= "1 "> AA </asp:ListItem> <asp:ListItem value= "2 "> BBB </asp:ListItem> </asp:DropDownList> <asp:DropDownList id= "diaodong_mydown3 " runat= "server " Width= "80px " > <asp:ListItem value= "1 "> AAA </asp:ListItem> <asp:ListItem value= "2 "> BBB </asp:ListItem> </asp:DropDownList> </FooterTemplate> protected void diaodong_mydown1_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddl = (DropDownList)sender; DropDownList ddl1 = (DropDownList)ddl.Parent.FindControl( "diaodong_mydown2 "); ddl1.SelectedValue = ddl.SelectedValue; diaodong_mydown2_SelectedIndexChanged(ddl1, e); } protected void diaodong_mydown2_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddl = (DropDownList)sender; DropDownList ddl1 = (DropDownList)ddl.Parent.FindControl( "diaodong_mydown3 "); ddl1.SelectedValue = ddl.SelectedValue; }
[解决办法]
支持
[解决办法]
up up
[解决办法]
up
[解决办法]
UPUP
[解决办法]
在DataGrid中的DropDownList和外面的没有区别
可以有多种办法:
1.比较直接的方法:在DataGrid的OnItemBound中为DropDownList添加联动事件,当然在这里面客户端或服务器端的实现都可以。
2.笨办法:让每个下拉框都触发事件,然后在后端重新绑定整个DataGrid.
3.纯JS办法:因为DataGrid中的下拉框的ClientID很有规律(如没有,处理一下),写个JS函数为每个下拉框设定响应事件及逻辑。
总得来说,你只要想办法在联动事件下能指定到目标ID,那就没有问题了
[解决办法]
在rowcreat事件里,判断row的类型是否是Footer,如果是则去找到这个row里的其他dropdownlist,并绑定。
我说的是gridview里的做法,datagrid的具体对应的是甚么不大记得了。应该差不多。
[解决办法]
up
[解决办法]
LS,重写一个 DataGrid 吧