Вы пробовали:
formatDisplayDate(Eval("Date").ToString()) & "-" & Eval("OtherField").ToString()
Если это не сработает, вы сможете настроить TemplateField для объединенных строк следующим образом:
<asp:TemplateField HeaderText="CombinedFieldName" SortExpression="CombinedFieldName">
<ItemTemplate>
<asp:Label ID="Label1" runat="server"
Text='<%# DataBinder.Eval(Container,"DataItem.FirstField") %>' >
</asp:Label>
-
<asp:Label ID="Label2" runat="server"
Text='<%# DataBinder.Eval(Container,"DataItem.SecondField") %>' >
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
Тем не менее, обычно гораздо эффективнее выполнять конкатенацию полей в операции базы данных, если это возможно. Я не проверял, но я бы предположил, что конкатенация в SELECT будет самой быстрой, после чего конкатенация в наборе данных в коде, и объединение их на странице ASP.Net будет медленным.