dbnetgrid学习笔记--grid中一条记录下面嵌套N条子记录且以grid形式显示

前提是:父grid中不能有属性设置setColunmProperty("  ",''display:none"),且要有dataOnlyColunms=[" "," "]属性。
页面如下:
 代码如下:
window.onload = init
var filterjyd = false var filterjyrq = false
var tradelx function init() {  with(document.all.dbnettab_master)  {    tabs = [    ["tab_jyd","交易数据列表(按交易单 )","dbnetgrid_jyd",""],    ["tab_jyrq","交易数据列表(按执行日期 )","dbnetgrid_jyrq",""]    ]    onPageLoaded = initgrid        setTabProperty("tab_jyd","onshow:jydonshow")    setTabProperty("tab_jyrq","onshow:jyrqonshow")    loadTab()  } } function jydonshow() {  tabflag = "jyd"  if(!filterjyd)   filterFun()    filterjyd = true    } function jyrqonshow() {  tabflag = "jyrq"  if(!filterjyrq)   filterFun()     filterjyrq = true    } function  initgrid() {  with(document.all.dbnetgrid_jyd)  {   connectionString = "jdbc/LiferayPool"   fromPart = "v_jydata_jyd"   primaryKeyColumn = "c_jydbh"   orderColumn = "c_jydbh"   orderSequence = "desc"   pageSize = 20   integration = "true"   var data  = document.all.dbnetgrid_jyrq.selectData("select property_name from property_code where property_code = '"+gs_tradelx+"' and type_name = ' 交易类型配置 '")   tradelx = data.property_name   if(tradelx == '年度' || tradelx == '短期 ')   {    selectPart = ["jymonth","c_jhbh","c_jydbh","c_sddw","c_gddw","n_dl/10 dl","n_jydl","jhjydl"]    headings = ["月份","交易中心交易单编号","调度中心交易单编号","卖方","买方","平均电力","交易电量","计划值 "]   }   else   {    selectPart = ["jymonth","c_jydbh","c_sddw","c_gddw","n_dl/10 dl","n_jydl"]    headings = [" 月份","交易单编号","卖方","买方","平均电力","交易电量 "]   }   dataOnlyColumns = ["c_jydbh"]   insertRow = false   updateRow = false   deleteRow = false   rowDblClick = false   filter = false   addNestedGrid(configureDetailNestedGrid, "dested_fun" )   onPageLoaded = masterGridLoaded  }  with(document.all.dbnetgrid_jyrq)  {   connectionString = "jdbc/LiferayPool"   fromPart = "jy_tradedata"   primaryKeyColumn = "c_bh"   orderColumn = "d_jyrq"   orderSequence = "desc"   pageSize = 20   integration = "true"      if(tradelx == '一类' || tradelx == '二类 ')   {    selectPart = ["d_jyrq","c_sddw","c_gddw","c_jysd","n_jyxs","n_dl/10 dl","n_jydl","n_wgjg","n_wsjg","c_jydbh"]    headings = ["执行日期","卖方","买方","时段","小时数","电力","交易电量","网购价","网售价","交易单 "]     setColumnProperty("n_jyxs","transform:jyxstrans")   }   else   {    selectPart = ["d_jyrq","c_sddw","c_gddw","n_dl/10 dl","n_jydl","n_wgjg","n_wsjg","c_jydbh"]    headings = ["执行日期","卖方","买方","电力","交易电量","网购价","网售价","交易单 "]   }      insertRow = false   updateRow = false   deleteRow = false   rowDblClick = false   filter = false   onPageLoaded = masterGridLoaded  }  custompagetoolbar()  inityearmonth() } function configureDetailNestedGrid() {  with(window.event.srcElement.childGrid)   {    connectionString = "jdbc/LiferayPool"    fromPart = "jy_tradedata"    primaryKeyColumn = "c_bh"    orderColumn = "d_jyrq"    orderSequence = "desc"    pageSize = 31    integration = "true"    displayNavibar = false    if(tradelx == ' 一类' || tradelx == '二类 ')    {     selectPart = ["d_jyrq","c_jysd","n_jyxs","n_wgjg","n_wsjg","n_dl/10 dl","n_jydl"]     headings = ["执行日期","时段","小时数","网购价","网售价","电力","交易电量 "]      setColumnProperty("n_jyxs","transform:jyxstrans")    }    else    {     selectPart = ["d_jyrq","n_wgjg","n_wsjg","n_dl/10 dl","n_jydl"]     headings = ["执行日期","网购价","网售价","电力","交易电量 "]    }    insertRow = false    updateRow = false    deleteRow = false        rowDblClick = false        filter = false    loadData()   } } function custompagetoolbar() {  with(document.all.dbnetgrid_jyd)  {    pagetoolbar.all.flowSendBtn.parentElement.style.display="none"    pagetoolbar.all.functionlist.parentElement.style.display="none"        var cell = pagetoolbar.all.toolbar.rows[0].insertCell()       cell.innerHTML = "<span class='dbnetgrid'> 年月 :"+         "<span class='dbnetgrid'></span><select id='year' name = 'year'></select> " +         "<span class='dbnetgrid'></span><select id='month' name = 'month'></select> "          addPagetoolbarBtn("okButton", "确定 ", "okFun")   addPagetoolbarDivider()   addPagetoolbarBtn("reportButton", tradelx+"交易汇总报表 ", "reportFun")   addPagetoolbarDivider()      } }
function jyxstrans(cell) {  if(cell.innerText != "")  {   var sec = parseFloat(cell.innerText) * 60   var sec = sec % parseInt(60)      var arr = new Array()   arr = cell.innerText.split('.')   if (sec != 0)   {    cell.innerText = arr[0]+'小时'+sec+' '   }   else   {    cell.innerText = arr[0]+'小时 '   }  } } function inityearmonth() {  for (i = parseInt(gs_year) -5; i<= parseInt(gs_year);i++)  {    var oOption = document.createElement("OPTION");    oOption.text = i + ' ';    oOption.value = i;    document.all.year.add(oOption)    if(i == gs_year)    {     oOption.selected = true    }  }    for (i = 1;i<= 12; i++)  {   var oOption = document.createElement("OPTION");   oOption.text = i + ' ';   oOption.value = i;   document.all.month.add(oOption);   if(i == gs_month)   {    oOption.selected = true   }  } } function reportFun() {    with(document.all.dbnetcell0) {   code = 'powerTrade'   report_no = 'trade_report'   lsh = ''   readOnly = true   reportArgs = new Object()   onReportOpened = "reportOpened"  }  var lsh = document.all.dbnetcell0.open() } function reportOpened(CellWeb) {  var grid = document.all.dbnetgrid_jyrq  var year = document.all.year.value  var month = document.all.month.value  var sj = year + '' + month + ' '  if(parseInt(month) < 10)   month = '0' + month  var trademonth = year + '.' + month  tradedatareport(grid,CellWeb,tradelx,trademonth,sj) } function okFun() {  if(tabflag == "jyd")  {   filterjyd = true   filterjyrq = false  }  if(tabflag == "jyrq")  {   filterjyrq = true   filterjyd = false  }  filterFun() } function filterFun() {  var year = document.all.year.value  var month = document.all.month.value  if(parseInt(month)<10)  {    month = '0' + month  } 
 var sj = year + '.' + month  var grid  if(tabflag == "jyd")  {   grid = document.all.dbnetgrid_jyd   grid.fixedFilterPart = "jymonth = '"+sj+"' and c_lx = '"+tradelx+"'"  }  else  {   grid = document.all.dbnetgrid_jyrq   grid.fixedFilterPart = "to_char(d_jyrq,'yyyy.mm') = '"+sj+"' and c_lx = '"+tradelx+"'"  }  grid.loadData()  }
function dested_fun(grid) {  var jydbh = grid.parentRow.c_jydbh  filter = "c_jydbh = '"+jydbh+"'"  grid.fixedFilterPart = filter }
function masterGridLoaded() {  var grid  if(tabflag == "jyrq")   grid = document.all.dbnetgrid_jyrq  else   grid = document.all.dbnetgrid_jyd  if(grid.rowCount > 0)  {    var table = grid.table    var row = table.insertRow()    for (var i=0; i< table.rows[1].cells.length; i++){     row.insertCell()    }    var year = document.all.year.value    var month = document.all.month.value       if(parseInt(month)<10)    {      month = '0' + month    }     var sj = year + '.' + month    var s_where    if(grid.filterPart != '')      s_where = grid.fixedFilterPart + ' and ' + grid.filterPart    else       s_where = grid.fixedFilterPart    if(tabflag == "jyrq")     var data = grid.selectData("select sum(nvl(n_jydl,0)) as jydl from jy_tradedata where "+s_where)    else     var data = grid.selectData("select sum(nvl(n_jydl,0)) as jydl from v_jydata_jyd where "+s_where)    row.style.color = 'black'    //row.style.backgroundColor = 'lightblue'    row.style.fontSize = '8pt'    row.style.fontWeight = 'bold'    row.style.align = "right"    row.cells[1].innerText = '合计 '    row.cells[grid.columnIndex('n_jydl')].innerText = data.jydl     }   } 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值