如果已经使用值getter定义了ag-grid列定义,或者已为单元格定义了表达式,则该值会在网格上很好地显示。但是,如果单元格正在使用单元格表达式/值获取器,则无法找到访问给定单元格中值的方法。试图通过访问数据api.forEachLeafNode,但是似乎内存模型中也没有此数据。我发现的唯一方法是将数据导出为CSV,然后使用解析getDataAsCsv(params)。
导出数据是访问带有值获取器的网格中的列值的唯一方法吗?
为什么“内存中”模型没有此数据可访问?
我在ag-grid网站上看到此注释:
仅内存行模型支持更改行高。使用虚拟分页,视口或企业行模型时,不能使用可变的行高。这是因为这些行模型需要计算未加载的行的位置,因此需要假定行高是固定的。
但是getRowHeight()在以前的发行版(7.x)中得到了很好的支持,因此想知道是否必须有一些替代方法来实现该目标。
我在以前的ag-grid版本中使用rowModelType ='pagination'。但是由于不推荐使用rowModelType ='pagination',因此我将其替换为rowModelType ='infinite'。但是有了这个,getRowHeight()不能像那里的网站所提到的那样工作。
是否有其他方法可以实现这一目标。我的网格选项:
var gridOptions = {
floatingFilter:true,
debug: true,
enableServerSideSorting: true,
enableServerSideFilter: true,
enableColResize: true,
rowSelection: 'single',
rowDeselection: true,
columnDefs: columnDefs,
rowModelType: 'infinite',
paginationPageSize: 10,
cacheOverflowSize: 2,
maxConcurrentDatasourceRequests: 2,
infiniteInitialRowCount: 1,
maxBlocksInCache: 2,
//rowHeight: 5,
getRowNodeId: function(item) {
return item.id;
},
getRowHeight: function(params){
return 300;
}
Run Code Online (Sandbox Code Playgroud)
};
这是我的Plunkr,在这里我尝试使用getRowHeight(),但没有用。 https://plnkr.co/edit/P6fnVz4ud1A68khuqDtx?p=preview
任何人都有在树视图中自定义 ag-grid 展开/折叠图标的经验。我已经在 SO 和 ag-grid 支持门户网站上进行了攻击,但运气不佳。https://www.ag-grid.com/javascript-grid-cell-rendering/#gsc.tab=0内部的讨论似乎没有涵盖。
当前行为显示 +/-。我想将外观更改为(我的公司标准)向上/向下 v 向上/向下箭头
代码会很棒,但声明性的 no 会很有价值。
我想显示所有行,所有列都带有复选框,因为我只想要true / false值。但是我想访问单个单元格的值,即每个复选框都可以选中/取消选中。参见下图。
据我所知,当我勾选复选框时,将选中该行的所有复选框。因此,我可以选中/取消选中单个复选框吗?
我想在单元格中“单击”并显示console.log,但是此功能无法运行:
headerName: 'Id',
field: 'id',
cellClicked: function() {
console.log('asssaasas');
}
Run Code Online (Sandbox Code Playgroud)
我确实在单元格中单击了AgGRID,但是在html5.console中我什么也没显示。
有没有ag-grid比用更好的方法来验证行valueSetter?
我可以通过它来完成验证,但是不确定是否有更好的方法。
https://www.ag-grid.com/javascript-grid-value-setters/#properties-for-setters-and-parsers
我要验证行中的两个字段。DateFrom和DateUntil(不允许为null,DateFrom必须小于DateUntil)。
调整ag-Grid的大小(更改浏览器窗口的大小)并在两个选项卡之间切换时,收到以下警告:
ag-Grid:尝试调用sizeColumnsToFit(),但是网格返回的宽度为零,也许网格在屏幕上还不可见?
我在Stackblitz中重现了这种情况:
https://angular-jpmxjy.stackblitz.io/
这是测试应用程序的组成:
调整网格大小并在tabMenu“ Leverancer”和“ Delleverancer”之间切换时,您会在chrome开发工具中看到警告错误。
您可以在此处查看代码:
https://stackblitz.com/edit/angular-jpmxjy
如何清除此不必要的警告错误?
我有一个呈现 AgGrid 的组件。我将 rowCount 更新为此组件的状态,但是,我需要从显示此组件的容器中访问此数字(状态)
这是我的国家
class ClientOrderHistory extends Component {
constructor(props) {
super(props);
this.state = {
columnDefs: createColumnDefs(props.OrderHistoryReducer.columnDefs),
gridAPI: null,
displayedCount: 0
};
}
Run Code Online (Sandbox Code Playgroud)
onGridReady,我更新了计算行数的函数
onGridReady = params => {
this.gridApi = params.api;
this.columnApi = params.columnApi;
this.setState({ gridAPI: params.api, columnAPI: params.columnApi });
this.columnApi.autoSizeAllColumns();
this.setState({displayedCount: this.gridApi.getDisplayedRowCount()});
console.log('rowsCount', this.gridApi.getDisplayedRowCount());
};
Run Code Online (Sandbox Code Playgroud)
我可以验证它是否正常工作,因为我可以在 componentDidUpdate 上 console.log 状态,并在控制台中正确显示行数。我正在将此组件传递给另一个容器以显示此网格,但是,我希望将此 displayCount 状态作为容器中的文本输出。
我怎样才能做到最好?
ag-grid ×10
javascript ×3
angular ×2
reactjs ×2
ag-grid-ng2 ×1
angularjs ×1
checkbox ×1
react-redux ×1
select ×1
tabs ×1