如何在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