GridViewDataTextColumn 的动态字段名称 (<%# eval(...)%>)



我有一个绑定到ASPxGridView的内存中数据集,其中列名由变量决定。现在,我更愿意为标记中列的FieldName分配相应变量的值,但<%#Eval(...)%>会引发以下错误。

Parser Error Message: Databinding expressions are only supported on objects that have a DataBinding event. DevExpress.Web.ASPxGridView.GridViewDataTextColumn does not have a DataBinding event.

是否可以在标记中为GridViewDataTextColumn的FieldName属性分配变量?

来自

<dx:GridViewDataTextColumn Caption="Product" FieldName="product_name">

<dx:GridViewDataTextColumn Caption="Product" FieldName="<%# Eval("ProductFieldName") %>">

一般情况下不会。GridViewDataTextColumn是hierarchycal(非数据绑定)元素,它未包含在数据绑定容器中。

根据异常消息,我认为这是此类ASP.NET控件的常见情况:

只有具有DataBinding事件的对象才支持DataBinding表达式。

我相信可以指定所需的属性并在运行时分配列FieldName,如图所示。

最新更新