【问题标题】:Ag-Grid updating values pushed?Ag-Grid 更新值推送?
【发布时间】:2020-10-17 22:45:50
【问题描述】:

制作了 ag-grid,创建了点击事件以将点击的数据(以及对它的一些操作)添加到第二个网格。

值在检查行数据时被推送,但不显示。

如何更新第二个表?代码如下,谢谢!

<div id="myGrid" style="height: 1000px; width:1000px;" class="ag-theme-alpine-dark"></div>
<div id="mySecondGrid" style="height: 100rem;width:100rem;" class="ag-theme-alpine-dark"></div>    
<script type="text/javascript" charset="utf-8">
    // specify the columns for first table 
    
    var columnDefs = [
      {headerName: "Col1", field: "Col1"},
      {headerName: "Col2", field: "Col2"},
      {headerName: "Col3", field: "Col3"}
    ];
    // specify the data for first table
    var rowData = [
    { Col1:"25",Col2:"7.25",Col3:"1"},
    { Col1:"5",Col2:"7.5",Col3:"3"},
    { Col1:"13",Col2:"7.75",Col3:"7"},
    ];
    // grid options first table 
    var gridOptions = {
        columnDefs: columnDefs,
        rowData: rowData,
        rowSelection: 'single',
        suppressMovableColumns:true,
    };
    // lookup the container we want the Grid to use
    var eGridDiv = document.querySelector('#myGrid');
    // create the grid passing in the div to use together with the columns & data we want to use
    new agGrid.Grid(eGridDiv, gridOptions);
    
    //add Listener 
    gridOptions.api.addEventListener('rowClicked', myRowClickedHandler);

  
    //Variable to hold data for second grid
    var a = [ ];
    
    var columnDefs2 = [
        {headerName: "TIMESCLICKED", field: "TimesClicked"},
        {headerName: "ATT1", field: "Att1"},
        {headerName: "ATT2", field: "Att2"}
    ];

    var gridOptions2 = {
        columnDefs: columnDefs2,
        suppressMovableColumns:true, 
        rowData: a,        
    }
        
    var eGridDiv2 = document.querySelector('#mySecondGrid');
    new agGrid.Grid( eGridDiv2, gridOptions2);     
  
    
    
    //should update second grid by passing data from items clicked on in first grid not updating ?
    function myRowClickedHandler(event) {
            
                
            
        a.push({TimesClicked: 1, Att1: gridOptions.api.getSelectedNodes()[0].data.Col1, Att2: gridOptions.api.getSelectedNodes()[0].data.Col2})         
    }
    
</script>

【问题讨论】:

  • 您能否详细说明“检查行数据时推送值但不显示”是什么意思?

标签: javascript ag-grid


【解决方案1】:

您应该设置行数据 --> gridOptions2.api.setRowData(a) 在您将对象添加到您的“a”变量之后。

https://plnkr.co/edit/mPJQpms0X6PlqRRy

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 2021-11-20
    • 1970-01-01
    • 2020-08-19
    • 2020-06-03
    • 2020-06-15
    • 2020-01-15
    • 2020-11-04
    • 2020-12-16
    相关资源
    最近更新 更多