CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

请问用Javascript 如何实现类似DBGrid的效果?

楼主cacaca(差哥)2004-12-02 20:39:56 在 Web 开发 / JavaScript 提问

请问用Javascript   如何实现类似DBGrid的效果? 问题点数:0、回复次数:11Top

1 楼net_lover(【孟子E章】)回复于 2004-12-02 20:43:02 得分 0

http://www.stedy.com/Top

2 楼awaysrain(绝对零度)(既然选择了远方就要日夜前行)回复于 2004-12-03 09:17:06 得分 0

http://www.51js.com/viewthread.php?fpage=2&tid=8393  
  http://www.51js.com/viewthread.php?tid=12007  
  转里面的一个  
  ==================================  
  <HTML><HEAD><TITLE>锁定表格栏位范例网页</TITLE>  
  <META   http-equiv=Content-Type   content="text/html;   charset=gb2312">  
  <STYLE   type=text/css>BODY   {  
          FONT:   12px   细明体;   CURSOR:   default  
  }  
  TD   {  
          FONT:   12px   细明体;   CURSOR:   default  
  }  
  .title   {  
          BORDER-RIGHT:   #555   1px   solid;   PADDING-RIGHT:   4px;   BORDER-TOP:   #fff   1px   solid;   PADDING-LEFT:   4px;   BACKGROUND:   #ccc;   PADDING-BOTTOM:   4px;   OVERFLOW:   hidden;   BORDER-LEFT:   #fff   1px   solid;   CURSOR:   hand;   PADDING-TOP:   4px;   BORDER-BOTTOM:   #555   1px   solid;   WHITE-SPACE:   nowrap  
  }  
  .cdata   {  
          BORDER-RIGHT:   #ddd   1px   solid;   PADDING-RIGHT:   3px;   BORDER-TOP:   #fff   1px   solid;   PADDING-LEFT:   3px;   BACKGROUND:   #fff;   PADDING-BOTTOM:   3px;   OVERFLOW:   hidden;   BORDER-LEFT:   #fff   1px   solid;   PADDING-TOP:   3px;   BORDER-BOTTOM:   #ddd   1px   solid;   WHITE-SPACE:   nowrap  
  }  
  </STYLE>  
   
  <SCRIPT   language=JavaScript   >  
  //   栏位标题   (   栏位名称   #   栏位宽度   #   资料对齐   )  
  var   DataTitles=new   Array(  
  "歌手   /   团体#90   #left"     ,  
  "专辑名称       #130#left"     ,  
  "发行公司       #110#left"     ,  
  "本周排名       #58   #center",  
  "排名状况       #58   #center",  
  "上周排名       #58   #center",  
  "上榜周数       #58   #center",  
  "最高名次       #58   #center",  
  "销售百分比   #70   #center")  
   
  //   栏位资料   (   二维阵列   )  
  var   DataFields=new   Array()  
  DataFields[0]   =new   Array("萧亚轩"     ,"爱的主打歌-吻"       ,"维京   Virgin"         ,"1"   ,"持平"     ,"1"   ,"2","1"   ,"2.9   %")  
  DataFields[1]   =new   Array("张惠妹"     ,"发烧"                         ,"华纳   Warner"         ,"2"   ,"持平"     ,"2"   ,"2","2"   ,"2.1   %")  
  DataFields[2]   =new   Array("陶吉吉"     ,"黑色柳丁"                 ,"全员集合   Shock"   ,"3"   ,"持平"     ,"3"   ,"5","1"   ,"1.8   %")  
  DataFields[3]   =new   Array("S.H.E"       ,"美丽新世界"             ,"华研   HIM"               ,"4"   ,"持平"     ,"4"   ,"6","1"   ,"1.2   %")  
  DataFields[4]   =new   Array("艾薇儿"     ,"展翅高飞"                 ,"博德曼   BMG"           ,"5"   ,"新进榜","-"   ,"1","5"   ,"1.1   %")  
  DataFields[5]   =new   Array("任贤齐"     ,"一个任贤齐"             ,"滚石   Rock"             ,"6"   ,"新进榜","-"   ,"1","6"   ,"1.0   %")  
  DataFields[6]   =new   Array("范逸臣"     ,"范逸臣第一张专辑","丰华   Forward"       ,"7"   ,"持平"     ,"7"   ,"2","7"   ,"0.9   %")  
  DataFields[7]   =new   Array("谢霆锋"     ,"无形的他全精选"     ,"新力   Sony"             ,"8"   ,"下跌"     ,"6"   ,"4","4"   ,"0.9   %")  
  DataFields[8]   =new   Array("周蕙"         ,"寂寞城市"                 ,"福茂   Decca"           ,"9"   ,"下跌"     ,"5"   ,"3","5"   ,"0.8   %")  
  DataFields[9]   =new   Array("周杰伦"     ,"八度空间"                 ,"博德曼   BMG"           ,"10","下跌"     ,"8"   ,"8","1"   ,"0.8   %")  
  DataFields[10]=new   Array("酷玩乐团","玩过头"                     ,"科艺百代   EMI"       ,"11","上升"     ,"16","2","11","0.7   %")  
  DataFields[11]=new   Array("张震岳"     ,"等我有一天"             ,"魔岩   Magicstone","12","新进榜","-"   ,"1","12","0.6   %")  
  DataFields[12]=new   Array("堂本刚"     ,"红与蓝"                     ,"艾回   Avex"             ,"13","新进榜","-"   ,"1","13","0.6   %")  
  DataFields[13]=new   Array("ENERGY"     ,"COME   ON"                   ,"环球   Universal"   ,"14","下跌"     ,"10","9","5"   ,"0.6   %")  
  DataFields[14]=new   Array("陈冠希"     ,"TRANSITION"             ,"艾回   Avex"             ,"15","下跌"     ,"9"   ,"3","5"   ,"0.4   %")  
  DataFields[15]=new   Array("合辑"         ,"MTV   嘻哈大师"         ,"环球   Universal"   ,"16","下跌"     ,"12","3","12","0.4   %")  
   
  </SCRIPT>  
   
  <SCRIPT   language=JavaScript>  
  var   BoxWidth   =   480         //   资料表显示宽度   (   不含卷轴   )  
  var   ShowLine   =   10         //   资料表显示列数  
  var   RsHeight   =   21         //   资料列高度  
  var   LockCols   =   1         //   要锁定的栏位数   (   由左至右   )  
   
  function   WriteTable(){         //   写入表格  
  var   iBoxWidth=BoxWidth  
  var   NewHTML="<table   border=\"0\"   cellpadding=\"0\"   cellspacing=\"0\"><tr>\  
  <td><div   style=\"width:100%;overflow-x:scroll\">\  
  <table   border=\"0\"   cellpadding=\"0\"   cellspacing=\"0\"><tr>"  
  for(i=0;i<DataTitles.length;i++){  
      if(i<LockCols){  
          var   cTitle=DataTitles[i].split("#")  
          iBoxWidth-=cTitle[1]  
          var   DynTip=((i+1)==LockCols)?"解除锁定":"锁定此栏位"  
          NewHTML+="<td><div   class=\"title\"   style=\"width:"+cTitle[1]+"px;height:"+RsHeight+"px\"   title=\""+DynTip+"\"   onclick=\"ResetTable("+i+")\">"+cTitle[0]+"</div></td>"  
      }  
  }  
  NewHTML+="</tr>\  
  <tr><td   colspan=\""+LockCols+"\">\  
  <div   id=\"DataFrame1\"   style=\"position:relative;width:100%;overflow:hidden\">\  
  <div   id=\"DataGroup1\"   style=\"position:relative\"></div></div>\  
  </td></tr></table></div></td>\  
  <td   valign=\"top\"><div   style=\"width:"+iBoxWidth+"px;overflow-x:scroll\">\  
  <table   border=\"0\"   cellpadding=\"0\"   cellspacing=\"0\"><tr>"  
  for(i=0;i<DataTitles.length;i++){  
      if(i>=LockCols){  
          var   cTitle=DataTitles[i].split("#")  
          NewHTML+="<td><div   class=\"title\"   style=\"width:"+cTitle[1]+"px;height:"+RsHeight+"px\"   title=\"锁定此栏位\"   onclick=\"ResetTable("+i+")\">"+cTitle[0]+"</div></td>"  
      }  
  }  
  NewHTML+="</tr>\  
  <tr><td   colspan=\""+(DataTitles.length-LockCols)+"\">\  
  <div   id=\"DataFrame2\"   style=\"position:relative;width:100%;overflow:hidden\">\  
  <div   id=\"DataGroup2\"   style=\"position:relative\"></div>\  
  </div></td></tr></table>\  
  </div></td><td   valign=\"top\">\  
  <div   id=\"DataFrame3\"   style=\"position:relative;background:#000;overflow-y:scroll\"   onscroll=\"SYNC_Roll()\">\  
  <div   id=\"DataGroup3\"   style=\"position:relative;width:1px;visibility:hidden\"></div>\  
  </div></td></tr></table>"  
  DataTable.innerHTML=NewHTML  
  ApplyData()  
  }  
   
  function   ApplyData(){         //   写入资料  
  var   NewHTML="<table   border=\"0\"   cellpadding=\"0\"   cellspacing=\"0\">"  
  for(i=0;i<DataFields.length;i++){  
      NewHTML+="<tr>"  
      for(j=0;j<DataTitles.length;j++){  
          if(j<LockCols){  
              var   cTitle=DataTitles[j].split("#")  
              NewHTML+="<td><div   class=\"cdata\"   style=\"width:"+cTitle[1]+"px;height:"+RsHeight+"px;text-align:"+cTitle[2]+"\">"+DataFields[i][j]+"</div></td>"  
          }  
      }  
      NewHTML+="</tr>"  
  }  
  NewHTML+="</table>"  
  DataGroup1.innerHTML=NewHTML  
   
   
  var   NewHTML="<table   border=\"0\"   cellpadding=\"0\"   cellspacing=\"0\">"  
  for(i=0;i<DataFields.length;i++){  
      NewHTML+="<tr>"  
      for(j=0;j<DataTitles.length;j++){  
          if(j>=LockCols){  
              var   cTitle=DataTitles[j].split("#")  
              NewHTML+="<td><div   class=\"cdata\"   style=\"width:"+cTitle[1]+"px;height:"+RsHeight+"px;text-align:"+cTitle[2]+"\">"+DataFields[i][j]+"</div></td>"  
          }  
      }  
      NewHTML+="</tr>"  
  }  
  NewHTML+="</table>"  
  DataGroup2.innerHTML=NewHTML  
  DataFrame1.style.pixelHeight=RsHeight*ShowLine  
  DataFrame2.style.pixelHeight=RsHeight*ShowLine  
  DataFrame3.style.pixelHeight=RsHeight*ShowLine+RsHeight  
  DataGroup3.style.pixelHeight=RsHeight*(DataFields.length+1)  
  }  
   
  function   ResetTable(n){  
  var   iBoxWidth=0  
  for(i=0;i<DataTitles.length;i++){  
      if(i<(n+1)){  
          var   cTitle=DataTitles[i].split("#")  
          iBoxWidth+=parseInt(cTitle[1])  
      }  
  }  
  if(iBoxWidth>BoxWidth){  
      var   Sure=confirm("\n锁定栏位的宽度大於资料表显示的宽  \n\n度,这可能会造成版面显示不正常。\n\n\n您确定要继续吗?")  
  }else{  
      Sure=true  
  }  
  if(Sure){  
      LockCols=(LockCols==n+1)?0:n+1  
      WriteTable()  
  }  
  }  
   
  function   SYNC_Roll(){  
  DataGroup1.style.posTop=-DataFrame3.scrollTop  
  DataGroup2.style.posTop=-DataFrame3.scrollTop  
  }  
  window.onload=WriteTable  
  </SCRIPT>  
   
  <META   content="MSHTML   6.00.2800.1170"   name=GENERATOR></HEAD>  
  <BODY>  
  <CENTER>  
  <H4>锁定表格栏位范例网页</H4><!--//   资料表   (   开始   )   //-->  
  <TABLE   cellSpacing=0   cellPadding=0   border=0>  
      <TBODY>  
      <TR>  
          <TD    
          style="BORDER-RIGHT:   white   2px   inset;   BORDER-TOP:   white   2px   inset;   BORDER-LEFT:   white   2px   inset;   BORDER-BOTTOM:   white   2px   inset;   BACKGROUND-COLOR:   scrollbar">  
              <DIV   id=DataTable></DIV></TD></TR></TBODY></TABLE><!--//   资料表   (   结束   )   //-->  
  <P>点取栏位标题可重新设定或解除目前的锁定状态</P></CENTER></BODY></HTML>  
  Top

3 楼JK_10000(JK)回复于 2004-12-03 09:24:39 得分 0

同楼上的效果,代码要简单点,不过不大清楚对其它浏览器的支持情况。  
  http://jkisjk.vip.sina.com/html/fixHeadTr3.htmTop

4 楼cacaca(差哥)回复于 2004-12-06 17:39:28 得分 0

需要可以编辑的哦!!Top

5 楼gjd111686(数字金刚)回复于 2004-12-07 09:28:05 得分 0

Web上功能强大的DbGrid表格HTC组件[只需在Table中指定样式就可以完成多种功能可扩展]http://blog.csdn.net/gjd111686/archive/2004/12/02/201708.aspxTop

6 楼gjd111686(数字金刚)回复于 2004-12-07 09:30:13 得分 0

我的支持行列拖动,双击就可以编辑.Top

7 楼cacaca(差哥)回复于 2004-12-07 12:33:19 得分 0

需要美观和功能上跟Delphi的DBGrid控件差不多的哦Top

8 楼cxz7531(大花猫)回复于 2004-12-07 12:44:49 得分 0

学习Top

9 楼prentice1001(徒弟)回复于 2004-12-08 12:33:56 得分 0

好东西   需要upTop

10 楼fruitfull(fruitfull)回复于 2004-12-08 12:58:29 得分 0

up   upTop

11 楼gjd111686(数字金刚)回复于 2004-12-10 12:14:22 得分 0

http://blog.nxcn.net/flyangel/files/htc.rar  
  这个是你要的,带翻页,跟DBGrid基本一样.Top

相关问题

  • 急,高手请进,javascript如何实现VB中dbgrid的效果!!
  • DBGrid 怎么实现FixedRows的效果啊!?
  • DBgrid中能实现类似翻页的效果吗?
  • StringGrid和DBGRID列标题如何实现按钮的效果?
  • 怎么实现dbgrid中的记录拖动(drag)效果啊??急。。。。。
  • 我想用Javascript实现点击选择的效果,如何实现?
  • 如何用Javascript实现数据库控件类似的效果?
  • 如何用ASP.net来实现JavaScript中ShowModalDialog()的效果?
  • 这个效果用javascript和xsl能实现吗?
  • MSDN CSDN 导航树效果用ASP.Net(C#) + JavaScript 怎么实现??

关键词

  • .net
  • 表格
  • 网页
  • 锁定表格栏位范例

得分解答快速导航

  • 帖主:cacaca

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo