FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3351|回复: 2
打印 上一主题 下一主题

grid里两个dropdownlist的模板列实现联动

[复制链接]
跳转到指定楼层
楼主
发表于 2016-7-28 00:01:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
grid里有2个模板列,均为gropdownList,要实现前面一个dropdownlist列的选项值改变后,重新绑定后边一个dropdownList的绑定值
前台页面显示 和 代码如下:

  1. <Columns>
  2.                                 <f:RowNumberField />
  3.                                 <f:BoundField DataField="SEQUENCE" SortField="SEQUENCE" Width="100px" HeaderText="顺序号" />
  4.                                 <f:BoundField DataField="OPER_NAME" SortField="OPER_NAME" Width="100px" HeaderText="工序名称" />
  5.                                 <f:BoundField DataField="TotalQty" SortField="TotalQty" Width="100px" HeaderText="生产总数" />
  6.                                 <f:BoundField DataField="AssignedQty" SortField="AssignedQty" Width="100px" HeaderText="已派工数量" />
  7.                                 <f:BoundField DataField="LeftQty" SortField="LeftQty" Width="100px" HeaderText="剩余派工数量" />
  8.                                 <f:TemplateField HeaderText="分派数量" Width="100px">
  9.                                     <ItemTemplate>
  10.                                         <asp:TextBox ID="txtAssignQty" runat="server" Width="80px" TabIndex='<%# Container.DataItemIndex + 10 %>'
  11.                                             Text='<%# Eval("AssignQty") %>'></asp:TextBox>
  12.                                     </ItemTemplate>
  13.                                 </f:TemplateField>
  14.                                 <f:TemplateField Width="100px" HeaderText="分派人员">
  15.                                     <ItemTemplate>
  16.                                         <asp:DropDownList runat="server" ID="ddlUser" OnSelectedIndexChanged="ddlUser_SelectedIndexChanged">
  17.                                         </asp:DropDownList>
  18.                                     </ItemTemplate>
  19.                                 </f:TemplateField>
  20.                                 <f:TemplateField Width="100px" HeaderText="分派设备">
  21.                                     <ItemTemplate>
  22.                                         <asp:DropDownList runat="server" ID="ddlUnit" >
  23.                                         </asp:DropDownList>
  24.                                     </ItemTemplate>
  25.                                 </f:TemplateField>                                
  26.                                 <f:LinkButtonField HeaderText=" " Width="80px"  CommandName="ADD" Icon="Add" ColumnID="Grid1_ctl15" />
  27.                             </Columns>
复制代码


后台代码如下:


  1. protected void ddlUser_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             System.Web.UI.WebControls.DropDownList selectUserDDL = (System.Web.UI.WebControls.DropDownList)sender;
  4.             int Index = ((GridViewRow)(selectUserDDL.NamingContainer)).RowIndex;
  5.             System.Web.UI.WebControls.DropDownList ddlUnit = (System.Web.UI.WebControls.DropDownList)Grid1.Rows[Index].FindControl("ddlUnit");
  6.             ddlUnit.Items.Clear();
  7.             string EmployeeNO = selectUserDDL.SelectedValue;
  8.             DataSet unitDS = new BLL.TBLJN_WORKUNIT_USER().GetUnitInfoByUser(EmployeeNO);
  9.             if (unitDS != null && unitDS.Tables.Count > 0)
  10.             {
  11.                 if (unitDS.Tables[0].Rows.Count > 0)
  12.                 {
  13.                     foreach (DataRow drUnit in unitDS.Tables[0].Rows)
  14.                     {
  15.                         System.Web.UI.WebControls.ListItem itemUnit = new System.Web.UI.WebControls.ListItem();
  16.                         itemUnit.Value = drUnit["ID"].ToString();
  17.                         itemUnit.Text = drUnit["WORK_UNIT_NO"].ToString() + "(" + drUnit["WORK_UNIT_NAME"].ToString() + ")";
  18.                         ddlUnit.Items.Add(itemUnit);
  19.                     }
  20.                 }
  21.                 else
  22.                 {
  23.                     Model.TBLJN_WORK_UNIT unitModel = new BLL.TBLJN_WORK_UNIT().GetModelByWorkUnitNO("other");
  24.                     if (unitModel != null)
  25.                     {
  26.                         System.Web.UI.WebControls.ListItem itemUnit = new System.Web.UI.WebControls.ListItem();
  27.                         itemUnit.Value = unitModel.ID.ToString();
  28.                         itemUnit.Text = unitModel.WORK_UNIT_NAME;
  29.                         ddlUnit.Items.Add(itemUnit);
  30.                     }
  31.                 }
  32.                 ddlUnit.SelectedIndex = 0;
  33.             }
  34.         }
复制代码


可是发现当第一个 dropdownlist值改变时,并未进入到后台的OnSelectedIndexChanged事件中去,请问这个要怎么实现呢??????

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2016-7-28 08:41:43 | 只看该作者

回帖奖励 +10 金钱

实现不了,只能用js
板凳
发表于 2016-7-28 14:25:29 | 只看该作者
一般使用ajax来实现表格行内联动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-5-4 10:11 , Processed in 0.048952 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表