我使用Ag-grid来控制我的表,但是我希望在我的组中存储一个行列表,而不是必须在2次点击中使行组扩展,我希望点击一下.如果我单击图标箭头它可以工作,但如果我点击标题行它只打开2次点击.
我已经尝试在文档中找到有关它的任何信息,但无法找到任何信息.
以下是文档中的示例. https://ag-grid.com/javascript-grid-tree/index.php
我在我的一个 AngularJs 项目中使用https://www.ag-grid.com/。我的要求是在任何分组发生时禁用任何列的排序。
我知道我们可以sorting/filtering使用以下配置禁用单列:
colDef.suppressMenu = true
colDef.suppressSorting = true <--- this i can set up while giving column definition
Run Code Online (Sandbox Code Playgroud)
在此,我按国家/地区对网格进行分组并扩大爱尔兰国家/地区,但现在我不禁用对任何参数的排序,并在删除分组属性时再次启用它。
有没有办法实现这一点,请告诉我,如果已经存在任何重复的问题,请在评论部分添加。
谢谢
例如,我有一个主\细节网格。
Master\Detail 定义为
key-relation模型,getDetailRowData方法父节点数据存在于params
但是如何从子视图中获取父节点数据呢?
通过上下文菜单尝试:
右键单击 - getContextMenuItems已执行,有一个输入params

在此示例中,child-grid 没有任何行,并且nodecontext-params 为 null,没关系,
但无论如何,至少应该可以通过 grid API 检索父级详细信息,不是吗?
parent然后我尝试通过节点
获取:
但不是如detail_173你所见ROOT_NODE_ID,这对我来说是一个困惑。
所以问题是如何通过子视图上下文菜单或任何其他可能的方式获取父节点数据(RecordID 173,以防万一)(不存储临时值,因为可以同时打开多个子节点)
是的,我已经阅读了这部分访问详细网格 API,但仍然不清楚如何通过子网格获取父节点。
我想为 Ag-Grid 中的列过滤器设置默认值,该值在初始化后处于活动状态。我怎样才能做到这一点?
我有以下风格:
.ag-theme-fresh .ag-row-selected {
background-color: #bde2e5;
}`
Run Code Online (Sandbox Code Playgroud)
它来自一个主题的 css 样式文件。但我想用这种风格覆盖它:
.ag-theme-fresh .ag-row-even .ag-row-selected {
background-color: #1428df;
}
Run Code Online (Sandbox Code Playgroud)
但它没有效果,我的组件使用第一种样式。如何覆盖第一个样式 1?我试过,!important但它什么也没做。
我应该在 css 文件的开头定义我的自定义样式吗?
更新:
我发现我可以使用函数 gridOptions.getRowClass 来设置要使用的样式类。但我想解决中心问题(对于我在应用程序中使用的所有角网格)。任何的想法?
我使用的是ag-grid企业版,我想禁用上下文菜单或右键单击网格单元,但未找到任何解决方案。
这是我的代码
<ag-grid-angular #agGrid style="width: 100%; height: 100%;" id="myGrid"
[rowData]="rowData" class="ag-theme-balham" [columnDefs]="columnDefs"
[enableRangeSelection]="true" (gridReady)="onGridReady($event)"></ag-grid-
angular>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下依赖项:
"dependencies": {
"ag-grid-community": "19.0.0",
"ag-grid-angular": "19.0.0",
"ag-grid-enterprise": "19.0.0",
}
Run Code Online (Sandbox Code Playgroud)
迁移到版本 19 后,隐藏了新的侧边栏。这可以通过设置 [sideBar]="'columns'" 来解决。
但是工具面板部分总是打开的。我可以通过调用 gridApi.closeToolPanel() 来关闭它,但在这种情况下,如果您加载页面,您会在短时间内看到打开的 toolPanel。是否可以选择仅显示侧栏按钮并默认隐藏工具面板(就像在版本 18 中一样)?
我想在AG Grid中添加一个新元素。我有以下模型:
export class PersonModel {
cars: CarModel[];
}
Run Code Online (Sandbox Code Playgroud)
AG Grid具有rowData我模型中的Cars阵列。但是这个数组是不可观察的。现在,我想在单击按钮时添加新车:
<button type="button" (click)="onClickCreateCar()">
Run Code Online (Sandbox Code Playgroud)
在我的视图模型中:
onClickCreateCar() {
var emptyCar = new CarModel();
this.person.cars.push(emptyCar);
}
Run Code Online (Sandbox Code Playgroud)
我无法在网格中看到新行,因为无法观察到数组Cars。可以,因为模型的属性不应是可观察的。您如何解决该问题?
我的AG-Grid定义:
<ag-grid-angular class="ag-theme-fresh" *ngIf="person" style="height: 100%; width: 100%;" [gridOptions]="gridOptions" [rowData]="person.cars" [columnDefs]="columnDefs">
Run Code Online (Sandbox Code Playgroud)
我在 Angular 6 应用程序中使用 Enterprise Ag-Grid版本。我里面有一个设置过滤器。我向过滤器添加了“应用”按钮:
apply:设置为 true 以包含带有过滤器的“应用”按钮,并且不会在选择更改时自动过滤。
问题是按下按钮后如何隐藏迷你过滤器菜单?我在官方网站上没有找到任何有关这种可能性的文档。但我在内部库 src 文件中找到一条注释,在以下位置指定IComponent.ts:
/* A hook to perform any necessary operation just after the gui for this component has been renderer
in the screen.
If the filter popup is closed and reopened, this method is called each time the filter is shown.
This is useful for any
logic that requires attachment before executing, such as putting focus on a particular DOM
element. The params has one …Run Code Online (Sandbox Code Playgroud) app.component.html
<div class="inlineBlock">
<select [(ngModel)]="portId" id="portDropdownMenu" (change)="externalFilterChanged()">
<option *ngFor="#portId of portIds">{{portId}}</option>
</select>
</div>
<div class="container">
<ag-grid-ng2 #agGrid
[gridOptions]="gridOptions"
[columnDefs]="myColumnDefs"
[rowData]="myRowData"
enableColResize
rowSelection="multiple"
enableSorting
enableFilter
[isExternalFilterPresent]="isExternalFilterPresent"
[doesExternalFilterPass]="doesExternalFilterPass"
rowHeight="30"
headerHeight="40"
enableRangeSelection
suppressContextMenu
suppressMenuColumnPanel
rowGroupPanelShow="always"
rememberGroupStateWhenNextData
groupDefaultExpanded="-1"
groupHideGroupColumns
groupUseEntireRow
(modelUpdated)="onModelUpdated()"
(filterChanged)="onFilterChanged()">
</ag-grid-ng2>
</div>
Run Code Online (Sandbox Code Playgroud)
app.component.ts
public isExternalFilterPresent() {
return this.portType != "All Ports";
}
public doesExternalFilterPass(node) {
switch (this.portType) {
case "1": return node.data.Port === "1";
case "2": return node.data.Port === "2";
case "3": return node.data.Port === "3";
default: return true;
}
}
public …Run Code Online (Sandbox Code Playgroud) 我需要删除 ag-grid 上下文菜单中存在的默认导出选项,并在其中包含工具面板选项。