一个设备转移程序,我用DataGrid列出要转移的设备,其中添加了一个模版列,该列用于设定设备要转移的位置,即某员工,关键是这里,我想安排两个列表框,一个是部门列表,一个是员工列表,部门列表中的部门改变时,员工列表也相应改变。想了半天没有头绪,只好请大家帮忙,看看有什么好的方法?多谢!

解决方案 »

  1.   

    我想可以把这个部门和员工的选择从datagrid 中脱离的吧,
    比如再用一个page 来完成这部分工作。datagrid 中用一个button 转移到那个页面的同时提供一些相关的信息//设备id
    在新的page 中完成转移的选择和更新后就可以返回datagrid的 page 咯
      

  2.   

    我想安排两个列表框,一个是部门列表,一个是员工列表,部门列表中的部门改变时,员工列表也相应改变。想了半天没有头绪,只好请大家帮忙,看看有什么好的方法?多谢!
    ===================
    用两个DropDownList
    把第一个DropDownList的AutoPostBack属性设置为True
    即,如果你选择了第一个列表框里的某个数据时,触发OnSelectedIndexChanged事件
    在这个事件中写拌定第二个列表框的操作就可以.
    关键是你选择第一个列表狂后在他的selectedindexchanged事件中获得他刚才选择的值,用那个值来联系到第二个列表框的信息,这也叫做联动
      

  3.   

    我想安排两个列表框,一个是部门列表,一个是员工列表,部门列表中的部门改变时,员工列表也相应改变。想了半天没有头绪,只好请大家帮忙,看看有什么好的方法?多谢!
    ===================
    用两个DropDownList
    把第一个DropDownList的AutoPostBack属性设置为True
    即,如果你选择了第一个列表框里的某个数据时,触发OnSelectedIndexChanged事件
    在这个事件中写拌定第二个列表框的操作就可以.
    关键是你选择第一个列表狂后在他的selectedindexchanged事件中获得他刚才选择的值,用那个值来联系到第二个列表框的信息,这也叫做联动
    ===================
    两个DropDownList作为DataGrid的2个模板列来绑定
      

  4.   

    在模版列中不知怎么触发OnSelectedIndexChanged啊?
      

  5.   

    4楼方法屏幕有闪动,如果需要无闪动的可以用javascript还实现
      

  6.   

    两种方法:
    1.javascript实现联动
    2.OnSelectedIndexChanged
      

  7.   

    昨天研究了一下午,终于用xmlhttp、javascript解决了,颇有感慨:搞web开发不会前台脚本不行啊,看来以后要抽时间恶补一下javascript。
    但服务器端的解决方法仍未想出。联动的方法我当然知道,现在的关键是这个联动的事件是发生在模板列中,我不知道该如何处理。即当一个模板列中的部门下拉列表发生change事件时如何引起另一个同样是在模板列中的下拉列表重新邦定?
    有兴趣的同志请看看
      

  8.   

    是的、你的感想和我刚做的时候一样、做web开发是需要多了解点javascript。
      

  9.   

    在模版列中不知怎么触发OnSelectedIndexChanged啊?但服务器端的解决方法仍未想出。联动的方法我当然知道,现在的关键是这个联动的事件是发生在模板列中,我不知道该如何处理。即当一个模板列中的部门下拉列表发生change事件时如何引起另一个同样是在模板列中的下拉列表重新邦定?
    有兴趣的同志请看看-------------------------------------------------------
    是这样的、平时模板列中是没有办法做的。所以需要在点击编辑的时候追加事件委托。
    代码如下:在page_load中
    If tmdgDataGrid.EditItemIndex <> -1 Then
                AddHandler CType(tmdgDataGrid.Items(tmdgDataGrid.EditItemIndex).Cells(8).Controls(1), _
                    LabelTextSearch).ButtonClicked, AddressOf LtsClick
    End If
    public sub ltsclick()

    end sub