Вы должны войти, чтобы создавать сообщения и темы.

ListBox и вывод items [Решено]

Всем привет, не понимаю как отобразить данные в ListBox через подключение к базе данных php.
Вот код (Тут соединяемся с базой):

async Task<string> GetData()
{
using (var net = new HttpClient())
{
var response = await net.GetAsync($"http://localhost/dataCon.php");
return response.IsSuccessStatusCode ? await response.Content.ReadAsStringAsync() : null;
}
}

Вывожу данные в ListBox:

async void FormWorking_Load(object sender, EventArgs e)
{
listBox1.Items.Add(await GetData());
}

И собственно сам PHP:

<?php
header("Content-Type: text/plain; charset=utf-8");
$con = new mysqli("localhost", "root", "wampserver", "encore_db");
$result = $con->Query("SELECT name FROM objects;");
while ($row = $result->fetch_assoc())
{
echo $row["name"] . "\r\n";
}
?>

В общем проблема заключается в том, что данные отображаются в одну строку (ItemItemItem)
А нужно что бы каждый элемент был отдельно:
Item
Item
Item
100% что-то делаю не так, но не могу понять что. Заранее спасибо

Приветствую.
Так GetData() возвращает string, т.е. одну строку.
Переделайте функцию, что бы она возвращала string[] или List<string> разбив получаемый результат тем же .Split() или еще как нибудь.

Лайкнул 4leth
4leth

@adler, Не совсем понимаю как это реализовать, есть ли у вас примеры какие-нибудь?.

А самому подумать? Что конкретно не понятно? Я почти все расписал.

Лайкнул 4leth
4leth
Цитата: Adler от 23.11.2022, 09:25

А самому подумать? Что конкретно не понятно? Я почти все расписал.

Не понятно конкретно то, как переделать функцию что бы она возвращала массив List<string>. Заменить Task<string> на List<string> явно не верный ход

Разбейте строку возвращаемую response.Content.ReadAsStringAsync() на массив

Лайкнул 4leth
4leth

4leth, привет 🖐

var multiLines = (await GetData("запрос")).Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList();
multiLines.ForEach(line => listBox1.Items.Add(line));
Лайкнули shiky и 4leth
shiky4leth
В любой непонятной ситуации переходи на beta  © Win 10 Tweaker
Цитата: XpucT от 24.11.2022, 10:43

4leth, привет 🖐

 
 
 
 
var multiLines = (await GetData("запрос")).Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList();
multiLines.ForEach(line => listBox1.Items.Add(line));
var multiLines = (await GetData("запрос")).Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList(); multiLines.ForEach(line => listBox1.Items.Add(line));
 
var multiLines = (await GetData("запрос")).Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList();
multiLines.ForEach(line => listBox1.Items.Add(line));

Спасибо, работает. То что нужно!

Лайкнул XpucT
XpucT