你这1000项数据是否是存储在数据库中,如果是数据库中的数据,在jsp或servlet中做个循环就可以了。不知道楼主的意思是不是这个

解决方案 »

  1.   

    你是不是想尽管是有页面迁移也不需要每次都取这1000个人的信息,只想去一次。
    假如你这1000个人在你也操作的过程中没有变化,你页面可以用iframe的形式,一个画面专门存这1000个人。
    假如你就是一个画面,你就在jsp或servlet中做个循环就可以了。
      

  2.   

    1000多项的数据选择,很正常。
    不过你需要对你的下拉筐做一个索引,用于操作者的快速选择。不知道你想用什么实现?如果用java实现,很好半,用script的话,保存起来比较麻烦。
      

  3.   

    这下拉框是客户查询表单中的一控件,不能另开新窗口,我的程序是jsp+bean+mysql,但不知怎样实现好?
      

  4.   

    我还是主张你不必这样麻烦,每个页面SELECT一下就可以。如果你的数据库联接使用了高效的联接池,那是最好。对于1000多项数据做SELECT,时间在ms级,不会引起你整个系统的效率的,不要为这点去在页面间传递这么多数据(1000多项对于数据库不直一提,但对于WEB间传递可就显的多了)
      

  5.   

    1000多项根本不需要传递的.你也可以看看hotmail发邮件--收件人选择的做法。不过1000多项数据肯定要做归类的
      

  6.   

    企业内部应用1000多项是正常的。
    用applet实现。
      

  7.   

    用application来保存数据,当更新数据时进行同步更新application中数据
      

  8.   

    easydozer(easydozer)您好,能不能说得详细点,在这点技术上,没有先例,大家都看着.
      

  9.   

    你应该请一个不错的JSP程序员,这样您有什么问题都可以让他给你解决了
      

  10.   

    他的意思是让你一次取成全局的数据,每个客户共享!这样的BEAN只要取一次就可以了!然后把数据放到全局的ArrayList里!要是让用户选择的话,还是做TREE吧
      

  11.   

    在页面中下拉中列出如此多的内容是不符合操作习惯的,所以应该:
    将数据分类显示
    or
    将数据连动显示
    or
    要求客户更改需求
      

  12.   

    这么多阿?
    如果你的选项有个层次关系,建议多几个下拉框比如
    第一个:选择国家----
    第二个:列出所选国家的省份或第一级行政单位---
    第三个:列出身份的城市阿什么的
    ...以此类推
    没有呢就做个查询给它吧,1000个肯定不会有人用的。
    数据的获取呢数据库查询,xml,文件下载到客户端然后再读取数据
      

  13.   

    哥们,超过100条的记录用下拉select控件就已经看着很不方便了。完全可以重开一个窗口,在这个新窗口中进行记录的检索和选取(只要将list控件设成单选即可),将这个窗口的值返回到其父窗口。
    对于是否每次都重新取数据的问题,每次都从数据库中取1000多条记录根本就耗费不了多少时间,而且可以及时的将数库中信息的改变体现出来;一定要保存的话,将查询到的信息放到一个生命周期为"application"的数据容器bean中即可。给你一个开新窗口并将新窗口的数据返回到父窗口的脚本:
    function addRepaEmployeeList( sList ,id)
    {
        var cVal, oSel ,roleId;    cVal = document.forms[0].tempHidden;    oSel = sList;    roleId = id ;    var updated = document.forms[0].updated.value;    if (updated == "false")
        {
             popup( "/public/util/AviGrantDlg.jsp?roleId="+roleId );
             return true;
        }    if( cVal.value != "" )
        {
            var arrVal = cVal.value.split("!!");        for(var i=0; i < arrVal.length; i++ )
            {
                var arrItems = arrVal[i].split("^^");            var j = sList.options.length - 1;
            for (; j >= 0; j-- )
            {
              if ( arrItems[1] == sList.item(j).value )
              {
                  break;
              }
            }
            if ( j < 0 )
            {
                    var newOpt = new Option( arrItems[0], arrItems[1] );
                    oSel.options[oSel.options.length] = newOpt;
                }
            }
        }
        document.forms[0].updated.value = "false";
        document.forms[0].tempHidden.value = "";
        return true;
    }function addRepaDeptEmployeeList( sList ,id)
    {
        var cVal, oSel ,roleId;    cVal = document.forms[0].tempHidden;    oSel = sList;    roleId = id ;    var updated = document.forms[0].updated.value;    if (updated == "false")
        {
             popup( "/public/util/AviDeptGrantDlg.jsp?roleId="+roleId );
             return true;
        }    if( cVal.value != "" )
        {
            var arrVal = cVal.value.split("!!");        for(var i=0; i < arrVal.length; i++ )
            {
                var arrItems = arrVal[i].split("^^");            var j = sList.options.length - 1;
            for (; j >= 0; j-- )
            {
              if ( arrItems[1] == sList.item(j).value )
              {
                  break;
              }
            }
            if ( j < 0 )
            {
                    var newOpt = new Option( arrItems[0], arrItems[1] );
                    oSel.options[oSel.options.length] = newOpt;
                }
            }
        }
        document.forms[0].updated.value = "false";
        document.forms[0].tempHidden.value = "";
        return true;
    }function popup( URL1 )
    {
        var url2 = "";
        window.open(URL1,"subWin","height=500,width=500,resizable=no,status=yes,scrollbars=yes,toolbar=no,menubar=no,location=yes");
    }
      

  14.   

    在父窗口中如下定义select控件
    <select name="seleccustom" size="5" multiple class="selectdlg">
                              </select>
                              <input type="hidden" name="tempHidden" size="10" maxlength="10" value="">
                              <input type="hidden" name="updated" size="10" maxlength="10" value="false">
    再定义两个按钮,例如下面的图片按钮
    <img src="/img/search.gif" width="94" height="19" name="Submit1" border="0" onClick="javascript:addRepaEmployeeList(seleccustom,'<%=request.getParameter("roleId")%>')">
                              <img src="/img/del-index.gif" width="94" height="19" name="Sub0" border="0" onClick="delSelOpts(seleccustom)">在新开的窗口中如下定义select控件:
    <select name="selectableIDList"...这里设为单选>
    并定义返回按钮:
    <input type="button" value="选择" name="button" class="button2" onClick="javascript:rtnValue(this.form)" >即可function rtnValue( myform, tObj )
    {
        var superList= tObj;
        var j;    var mySel = myform.selectableIDList;
        var delim = "";
        var selV = "";
        for ( i = 0; i < mySel.options.length; i++ )    
        {    
            if ( mySel.options[i].selected == true )
            {
            var vlu = mySel.options[i].value;                    
            var txt = mySel.options[i].text;
            selV += delim + txt + "^^" + vlu;  
               delim = "!!";
            newOpt = new Option( txt, vlu );          
        }
        }
        
        top.opener.document.all("tempHidden").value = selV;        
        top.opener.document.all("updated").value = "true";
       
        top.opener.document.forms[0].Submit1.click();
        window.close();
        return true;
      

  15.   

    删除父窗口中已选择的选项脚本例子:
    function delSelOpts( mSelObj )
    {
        for( var i = 0; i < mSelObj.options.length; i++ )
        {
           var oriLen = mSelObj.options.length;
           if ( mSelObj.options[i].selected )
           {
             mSelObj.options[i] = null;
             if(i < oriLen-1) i--;
           }
        }
    }