ASP.net GridView - Использовать оператор If в свойстве HeaderText объекта BoundField - PullRequest
2 голосов
/ 26 августа 2010

Могу ли я сделать что-то вроде этого:

    <asp:BoundField DataField="Field1" 
HeaderText='<% IF(Eval("Field2").ToString().SubString(3,4).Equals("Text3"),"Text1","Text2") %>'
SortExpression="Field1" />

Чтобы заголовок поля Field1 был Text1, когда 4-7-й символы поля Field2 = Text3 и Text2 в противном случае?

Я попытался, и он просто поставил "'<% IF (Eval (" Field2 "). ToString (). SubString (3,4) .Equals (" Text3 ")," Text1 "," Text2 ")%>'"как актуальная строка заголовка!

Заранее спасибо!

1 Ответ

2 голосов
/ 26 августа 2010

Оператор Eval() имеет значение только в контексте привязки данных. Как вы обнаружите, если вы использовали синтаксис привязки данных (<%# /*...*/ %>), текст заголовка не обеспечивает контекст привязки данных. В конце концов, есть только один заголовок для строк от нуля до множества.

Вы можете установить текст заголовка в обязательном порядке из кода:

myGrid.Columns[columnIndex].HeaderText = //...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...