Kendo ui 如何让KendoUI网格与自定义单元渲染器和选择一起工作

Kendo ui 如何让KendoUI网格与自定义单元渲染器和选择一起工作,kendo-ui,kendo-ui-grid,kendo-react-ui,Kendo Ui,Kendo Ui Grid,Kendo React Ui,选择事件似乎没有通过自定义单元格渲染器传递。我的目标是更改网格中每个单元格的背景颜色(基于值),并能够处理选择事件。我在这里修改了文档中的示例: 在“订单上的单位”列中包含背景色。您会注意到,该列不参与选择。我在这里创建了一个stackblitz示例: 我所做的更改是添加了一个cellWithBackground函数,并将其分配给UnitsInStock列。这就是这个函数 const cellWithBackGround = props => { const examplePrice

选择事件似乎没有通过自定义单元格渲染器传递。我的目标是更改网格中每个单元格的背景颜色(基于值),并能够处理选择事件。我在这里修改了文档中的示例:

在“订单上的单位”列中包含背景色。您会注意到,该列不参与选择。我在这里创建了一个stackblitz示例:

我所做的更改是添加了一个cellWithBackground函数,并将其分配给UnitsInStock列。这就是这个函数

const cellWithBackGround = props => {
 const examplePrice = true;
 const style = {
   backgroundColor: "rgb(243, 23, 0, 0.32)"
 };
 const field = props.field || '';
 return <td style={style}>
    {props.dataItem[field]}
    </td>;
};
const cellWithBackGround=props=>{
const examplePrice=true;
常量样式={
背景色:“rgb(243,23,0,0.32)”
};
常量字段=props.field | |“”;
返回
{props.dataItem[field]}
;
};
我确实找到了一个很接近的例子,但我无法让它与功能组件一起工作。它只适用于我不使用的类。因此,请提供支持功能组件的示例或参考。

H Peter

谢谢你分享代码。通过完全替换整个单元的基础设施,它将不再响应来自网格的任何内容

具体来说,我指的是函数中的这一行。它只返回一个带有字段名的
,它放弃了元素的其余属性

//cell returned form the function
return <td style={style}>
    {props.dataItem[field]}
    </td>;
//从函数返回的单元格
返回
{props.dataItem[field]}
;
在这一点上,它基本上是一个死细胞。它不会响应事件、数据操作等,因为它缺少网格与之交互所需的所有部分

进一步指导 正如我在文章中提到的,你可以从这里得到剑道工程师的指导,帮助你


我认为有一种更好的方法来处理这个问题,即使用样式而不是直接手动处理DOM元素。至少,您需要返回单元格的完整基础结构,他们可以提供帮助。

谢谢@Lance,我一直在沿着这条路走,只知道如何设置整行的样式(使用分配给GridColumn的类名)。我不知道如何设计一个额外的单元格。查看单元格渲染器的默认实现将非常有帮助,因此如果我沿着自定义单元格渲染器的路径走下去,那么除了吹走该单元格上的所有KendoUI外,我还有一个起点。在您的支持通知单中,一定要向Kendo团队索取示例或KB文章。很可能他们已经有了。如果没有,那么他们将编写一个PoC示例(之后,我将要求他们从该PoC中创建一个新的知识库)。他们给我留下了一张很好的便条,说他们将这样做(并且它应该在我不需要做任何特殊事情的情况下工作)。我知道今天是他们的假期,所以我希望明天才能收到回音。