2016-05-09 2 views
2

Я разрабатываю функциональность в своем веб-приложении. Его кулинарное сообщество. Функциональность - это онлайн-обсуждение. Пользователи могут комментировать под рецептом. Я использовал элемент управления listview. Я могу получить имя пользователя, используя вложенный запрос. Объекту DataSource элемента управления ListView можно присвоить только один объект набора данных. Мне нужно имя пользователя и комментарий. Имя пользователя заполняется. У меня возникла проблема с отображением комментария этого конкретного пользователя. но мне также нужно отображать комментарии пользователей. Как достичь код позади для отображения комментариев:Listview- Комментарии пользователей

public void dispComments() 
    { 
     MySqlConnection con = new MySqlConnection("Server=localhost;Database=FreedomKitchen;Uid=root;Password=;"); 
     con.Open(); 

     MySqlCommand cmd = new MySqlCommand("select Username from User_Details where User_ID in(select User_ID from Recipe_Comments)", con); 
     MySqlDataAdapter da = new MySqlDataAdapter(); 
     da.SelectCommand = cmd; 
     DataSet ds = new DataSet(); 
     da.Fill(ds, "User_Comments"); 
     ListView1.DataSource = ds; 
     ListView1.DataBind(); 
     con.Close(); 
    } 

Просмотр списка Исходный код:

   <ItemTemplate> 

       <div id="div123"> 
      <asp:Label ID="User" 
       runat="Server" 
       Text='<%#Eval("Username") %>' 
     width="850" 
     height="80" 
     /> 
    <%-- <asp:Label ID="Comment" 
       runat="Server" 
       Text='<%#Eval("Comment") %>' 
     width="850" 
     height="80" 
     />--%> 
       </div> 

</ItemTemplate> 
      <ItemSeparatorTemplate> 

       <br /> 
      </ItemSeparatorTemplate> 

     </asp:ListView> 

База данных: User_Details стол

User_ID // нужно отобразить это в ListView п. Первая_изначение
Последнее_знание
Возраст
Пол
Страна
About_User
Имя пользователя Пароль

стол User_Comments

Recipe_ID
User_ID
Комментарий // нужно отобразить это ListView элемент

ответ

0

Изменить запрос базы данных join как комментарии, так и таблица пользователей и se объясните результат.

Отменить комментарий к статье внутри шаблона элемента для списка, чтобы показать комментарий.

связывают выбранный результат установлен в ListView

EDIT:

Вам может понадобиться включить DateTime столбец в вашей User_Comments таблице, так как может быть несколько комментариев от одного пользователя, которые должны быть отображены на времени.

вы можете изменить свой код, как это, в dispComments() методы

MySqlCommand cmd = new MySqlCommand("SELECT U.Username, R.Comment FROM Recipe_Comments R JOIN User_Details U ON R.User_ID = U. User_ID WHERE R.Recipe_ID = @RecipeID ORDER BY R.CommentDate DESC)", con); 
cmd.Parameters.Add("@RecipeID", SqlDbType.Int).Value = value; 

В вашем ItemTemplate

<ItemTemplate> 
<div id="div123"> 
    <asp:Label ID="User" runat="Server" Text='<%#Eval("Username") %>' width="850" height="80" /> 
    <asp:Label ID="Comment" runat="Server" Text='<%#Eval("Comment") %>' width="850" height="80" /> 
</div> 
</ItemTemplate> 
Смежные вопросы