Jaydeep Shah Ответов: 1

Дата мудрое отображение данных в ASP.NET веб-формы


Привет, у меня есть класс под названием ChatMessageBO, который имеет такие свойства, как Id, Msg, имя и дата.

я хочу отображать данные datewise.

List<chatmessagebo & gt; SortedList = directChatWindow.messages.Заказатьпо(о =&ГТ; о'.ТС).Список();
MessageList.Источник Данных = Парам;
MessageList.DataBind();


здесь я получаю все данные правильно, но я хочу отобразить дату, а затем имя и msg.

пример

03-07-2017

джейдип привет
Риши привет


04-07-2017

Неха Боже Доброе утро
матчи jaydeep добрым утром всех



вид сбоку вы можете увидеть 06 июня 2017 года. где я должен отобразить дату.

Что я уже пробовал:

<div class="daychat">
                <asp:HiddenField ID="hdnOtherUser" runat="server" />
                <h3><span>June 6, 2017</span></h3>
                <ul class="list-unstyled msglist">
                    <asp:ListView runat="server" ID="MessageList">
                        <ItemTemplate>
                            <li>
                                <div class="media">
                                    <div class="media-left">
                                        <a href="javascript:void(0);">
                                            <img src="../Content/images/1.png" alt="chat-avatar" />
                                        </a>
                                    </div>
                                    <div class="media-body">
                                        <h4 class="media-heading"><a href="javascript:void(0);"><%#Eval("name")%> </a><%# DateTime.Parse(Eval("ts").ToString()).ToString("hh:mm tt")%> </h4>
                                        <p><%#Eval("msg")%></p>  
                                    </div>
                                </div>


                            </li>
                        </ItemTemplate>
                    </asp:ListView>
                </ul>
            </div>

1 Ответов

Рейтинг:
5

Richard Deeming

Вы хотите сказать, что хотите сгруппировать сообщения по дате?

MessageList.DataSource =  directChatWindow.messages.GroupBy(o => o.ts.Date, (key, items) => new 
{ 
    Date = key, 
    Messages = items.OrderBy(o => o.ts) 
});

MessageList.DataBind(); 

<asp:ListView runat="server" ID="MessageList">
<ItemTemplate>
    <h3><span><%#: Eval("Date", "{0:MMMM d, yyyy}") %></span></h3>
    <ul class="list-unstyled msglist">
        <asp:ListView runat="server" DataSource='<%# Eval("Messages") %>'>
        <ItemTemplate>
            <li>
                <div class="media">
                    <div class="media-left">
                        <a href="javascript:void(0);">
                            <img src="../Content/images/1.png" alt="chat-avatar" />
                        </a>
                    </div>
                    <div class="media-body">
                        <h4 class="media-heading">
                            <a href="javascript:void(0);"><%#: Eval("name") %></a>
                            <%#: Eval("ts", "{0:hh:mm tt}") %> 
                        </h4>
                        <p><%#: Eval("msg") %></p>  
                    </div>
                </div>
            </li>
        </ItemTemplate>
        </asp:ListView>
    </ul>
</ItemTemplate>
</asp:ListView>