2013-12-02 3 views
2

Можно ли отобразить два столбца базы данных в одном столбце строки в списке в vb.net с помощью mysql.data.mysqlclient?Как отображать многочисленные столбцы в столбцах списка?

Listview:    where in database: 
---------------   *Firstname: John 
| Full Name |   *Lastname: Smith 
|_____________| 
|    | 
| John Smith | 
|_____________| 

вот мой код:

For i = 0 To table.Rows.Count - 1 
    With lvlistview 
     .Items.Add(table.Rows(i)("dte")) 
     With .Items(.Items.Count - 1).SubItems 
      .Add(table.Rows(i)("tran_no")) 
      .Add(table.Rows(i)("comp_type")) 
      .Add(table.Rows(i)("status")) 
      .Add(table.Rows(i)("sys_name")) 
      .Add(table.Rows(i)("mod_name")) 
      .Add(table.Rows(i)("err_desc")) 
      .Add(table.Rows(i)("trigg")) 
      .Add(table.Rows(i)("fname" . "lname")) **How i gonna combine this two database column in only one listview column** 
     End With 
    End With 
Next 
+0

Как вы заполняете элемент управления списком? С привязкой данных? Это проект WinForm, ASP, WPF? –

+0

это winform сэр. как я это сделаю? положить два столбца базы данных в один столбец списка? –

+0

Как вы заполняете элемент управления списком? Используете ли вы привязку данных или вручную добавляете элементы с собственным кодом? –

ответ

1

Вам просто нужно сцепить значения из двух столбцов БД вместе. Если вы использовали привязку данных, самым простым решением было бы изменить вашу команду SQL, чтобы значения были объединены механизмом БД и возвращены вам как один столбец. Однако, так как вы добавляете детали самостоятельно, вы можете, в качестве альтернативы, просто сцепить две колонки в вашем коде, прежде чем добавить товар в ListView, например:

With .Items(.Items.Count - 1).SubItems 
    .Add(table.Rows(i)("tran_no")) 
    .Add(table.Rows(i)("comp_type")) 
    .Add(table.Rows(i)("status")) 
    .Add(table.Rows(i)("sys_name")) 
    .Add(table.Rows(i)("mod_name")) 
    .Add(table.Rows(i)("err_desc")) 
    .Add(table.Rows(i)("trigg")) 
    .Add(table.Rows(i)("fname") & " " & table.Rows(i)("lname")) 
End With 

& символ является стандартной строкой-конкатенации оператора в VB.NET. Вы также можете использовать оператор +, но при использовании оператора + со строками вы должны быть более осторожны с вашим типом. Поскольку оператор & немного безопаснее и он немного более самодокументирован, он обычно является предпочтительным оператором для строк.

Для более сложных конкатенаций вы также можете рассмотреть возможность использования String.Join, String.Format или класса StringBuilder.

+0

СПАСИБО СВОЮ !!! это сработало!! Спасибо большое. У меня есть последний вопрос. знаете ли вы, как покинуть соединение в listview с помощью winform? –

+1

Проще всего сделать левое соединение в вашей команде SQL, тогда вы получите доступ к объединенным столбцам через переменную 'table', как и другие столбцы. В качестве альтернативы вы можете выполнить две отдельные команды SQL, чтобы получить данные в две отдельные таблицы данных, тогда вы можете использовать обе таблицы данных для заполнения каждого элемента «ListView». –

Смежные вопросы