У меня есть код для создания GridView. Он отображает штраф, за исключением столбца SenderDetails
. Мне нужно создать шаблон элемента для этого. Message
и Date
DataFields принадлежат классу Chat
, и они отображаются в сетке. Но SenderDetails
вызывается из другого класса в классе чата:Как создать шаблон элемента/шаблон для динамического gridview
public class Chat : BaseResultSet
{
public string Message { get; set; }
public DateTime? SentDate { get; set; }
public ChatUserDetails SenderDetails { get; set; }
}
ChatUserDetails
класс:
public class ChatUserDetails : BaseDisplaySet
{
public string UserName { get; set; }
public string CompanyName { get; set; }
public bool Connected { get; set; }
}
Таким образом, вместо отображения имени пользователя она отображает baseClasses.Chat.ChatUserDetails
в SenderDetails
колонке.
Мне нужно отобразить UserName в BuildChatsGrid()
. GridView код:
public static GridView BuildChatsGrid()
{
GridView NewDg = new GridView();
NewDg.Columns.Add(new BoundField { DataField = "Message", HeaderText = "Note" });
NewDg.Columns.Add(new BoundField { DataField = "SenderDetails", HeaderText = "Entered By" }); //need item template
NewDg.Columns.Add(new BoundField { DataField = "SentDate", HeaderText = "Date", DataFormatString = "{0:dd/MM/yyyy}" });
}
Как добавить шаблон или TemplateField пункт для вызова SenderDetails
?
Почему вы не строите это в своем коде веб-формы? Это действительно важно, что он построен динамически? – TestWell
@TestWell да, он должен быть построен динамически – user123456789
[Вот ссылка, которую я нашел] (http://www.codeproject.com/Articles/13462/How-to-create-template-columns-dynamically-in-a-gr) который пытается решить ту же проблему. Вам нужно будет настроить шаблон, чтобы удовлетворить ваши потребности, но это начало. Похоже, что все шаблоны должны получить от 'ITemplate' – TestWell