一种,使用javascript,将全部人员根据分组放入js数组,并标明部门与员工直接的对应关系,然后根据用户的选择,动态改变下拉列表框的内容。这种方式只需下载一次数据,整个过程无需再和服务器交互。另一种,在网络速度允许的情况下(事实上,现在的网络绝对可以应付),设置第一个下拉框的服务器端changed事件,根据选择重新填充第二个下拉框的内容。这样,虽然每次选择新的部门后会和服务器有交互过程,不过可以避免复杂的js编写,而且代码也很清晰,易于维护。

解决方案 »

  1.   

    将dropdownlist1的autopostback设为true;
    如果dropdownlist1是绑定的,则放在page_load里面的
    if(!Page.IsPostBack)里面绑定;
    在dropdownlist的selectedindexchange事件中绑定dropdownlist2;
      

  2.   

    ameng_2002(星星之火) 谢谢我以前也想到在 selectedindexchanged 事件中绑定,可是学艺不精,一下忘了提交怎么设定的。 
    bearontree(树袋熊)  谢谢指点,我 想你的方法同样好用
      

  3.   

    试试
    DataView dv=new DataView();
    ........
    foreach(DataRow dr in dv.Table)
    {
      DataSet1.Tables["yourtable"].ImportRow(dr);
    }
    那是一行行的插入,可能还有更好的方法,你可以察看一下DataTable对象的用法