如何在ag-grid

时间:2018-06-19 07:17:48

标签: ag-grid

我正在尝试在纯网格的javascript版本中,从数据源设置单元格背景颜色,这是确定颜色的位置。单元格背景颜色不会根据用户输入而改变,它将始终在服务器上确定并返回到要更新的网格的数据集中。但是,我在rowdata对象(或其他任何地方)中找不到任何允许我在网格源数据中定义单元级背景颜色的参数。

我希望能够做到这样的事情:

var columnDefs = [
  {headerName: "Surname", field: "surname"},
  {headerName: "First name", field: "firstname"},
  {headerName: "Date of Birth", field: "birthdate"},
  {headerName: "House", field: "house"}
];

var rowData = [
  {surname: "Smith" cellbackground=blue, firstname: "John", birthdate: "01/02/2008", house: "Yellow"},
  {surname: "Jones" cellbackground=green, firstname: "Paul", birthdate: "03/05/2008", house: "Green"},
  {surname: "Green" cellbackground=yellow, firstname: "George", birthdate: "28/04/2007", house: "Yellow"},
  {surname: "MacDonald" cellbackground=amber, firstname: "Ringo", birthdate: "14/09/2007", house: "Blue"},
  {surname: "Payne" cellbackground=red , firstname: "David", "02/09/2007", house: "Red"}
];

当然,这些数据将来自我的Web服务的JSON文件,但我不确定包含特定单元格的背景颜色的语法。我想将背景颜色应用于姓氏单元格(暂时)。我也知道“cellbackground = amber”语法不正确。背景颜色不会在客户端进行,只能在服务器端进行,因为它们基于服务器数据库中定义的规则。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:1)

我们有类似的要求。我们通过使用Adaptable Blotter解决了它,它是ag-Grid之上的一层。我们在那里定义了规则,然后相应地绘制了ag-Grid。真的很好。但是我不知道他们是怎么做的,除了工作原理。如果有帮助,他们称之为条件样式。

答案 1 :(得分:1)

我现在已经解决了这个问题-根据包含颜色名称的单独列,将cellStyle应用于要着色的列。我创建了一个名为getCellColor的函数来执行此操作。希望这对其他人有用...

var columnDefs = [
{headerName: "HouseColour", field: "housecolour", hide: true},
{headerName: "House", field: "house", width: 100, cellStyle: function getCellColor(params) { return {backgroundColor: params.data.housecolour}}}];

var rowData = [
{house: "Yellow", housecolour: "yellow"},
{house: "Green", housecolour: "green"},
{house: "Purple", housecolour: "purple"},
];

答案 2 :(得分:1)

我们还使用了自适应吸印机来执行此操作。他们具有执行条件样式的能力,其中行将根据数据以及简单的行样式进行更新。