如何在c#中为没有任何标记的AXPxGridViewDataTextColumn创建模板,并使用Eval显示DataItem值?ASPxGridView,ITemplate和Eval
- 我遇到的问题是字符串“<%#Eval(”dataTableField1“)%>”在GridView中显示为每行而不是适当的值。
这是我尝试的例子:
public override void DataBind()
{
...
GridViewDataTextColumn myCol = new GridViewDataTextColumn();
myCol.Caption = "col1";
myCol.FieldName = "dataTableField1";
myCol.DataItemTemplate = new ColumnDataItemTemplate();
theGridView.Columns.Clear();
theGridView.Columns.Add(myCol);
theGridView.DataSource = AdjustDataSource();
theGridView.DataBind();
...
}
public class ColumnDataItemTemplate : ITemplate
{
public void InstantiateIn(Control container)
{
GridViewDataItemTemplateContainer Container = (container as GridViewDataItemTemplateContainer);
LiteralControl lit = new LiteralControl("<div id=\"hr\" style=\"height:100%\"><%#Eval(\"dataTableField1\")%></div>");
Container.Controls.Add(lit);
}
}
这里是什么,我想从这个link采取行的高度做一个例子:
<dx:GridViewDataTextColumn FieldName="Description" VisibleIndex="3">
<DataItemTemplate>
<div id="hr" style="height:100%">
<%#Eval("Description")%>
</div>
</DataItemTemplate>
</dx:GridViewDataTextColumn>
这documentation link显示类似的例子在标记中使用模板,但我想在后面的代码中完成。
这是关于创建模板的link。
由于提前,
Soenhay
编辑: 我能得到正确的动模板分配到CustomColumnDisplayText事件,但在ASPxGridView显示的所有其他元素显示的第一个元素显示评估字符串。
你有一个完全在c#中的例子吗?我会编辑我的问题更清楚。 – Soenhay 2012-07-31 14:23:36