ListBox и вывод items [Решено]
Цитата: 4leth от 23.11.2022, 07:03Всем привет, не понимаю как отобразить данные в 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% что-то делаю не так, но не могу понять что. Заранее спасибо
Всем привет, не понимаю как отобразить данные в 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% что-то делаю не так, но не могу понять что. Заранее спасибо
Цитата: Adler от 23.11.2022, 07:10Приветствую.
Так GetData() возвращает string, т.е. одну строку.
Переделайте функцию, что бы она возвращала string[] или List<string> разбив получаемый результат тем же .Split() или еще как нибудь.
Приветствую.
Так GetData() возвращает string, т.е. одну строку.
Переделайте функцию, что бы она возвращала string[] или List<string> разбив получаемый результат тем же .Split() или еще как нибудь.
Цитата: 4leth от 23.11.2022, 07:29@adler, Не совсем понимаю как это реализовать, есть ли у вас примеры какие-нибудь?.
@adler, Не совсем понимаю как это реализовать, есть ли у вас примеры какие-нибудь?.
Цитата: Adler от 23.11.2022, 09:25А самому подумать? Что конкретно не понятно? Я почти все расписал.
А самому подумать? Что конкретно не понятно? Я почти все расписал.
Цитата: 4leth от 23.11.2022, 13:59Цитата: Adler от 23.11.2022, 09:25А самому подумать? Что конкретно не понятно? Я почти все расписал.
Не понятно конкретно то, как переделать функцию что бы она возвращала массив List<string>. Заменить Task<string> на List<string> явно не верный ход
Цитата: Adler от 23.11.2022, 09:25А самому подумать? Что конкретно не понятно? Я почти все расписал.
Не понятно конкретно то, как переделать функцию что бы она возвращала массив List<string>. Заменить Task<string> на List<string> явно не верный ход
Цитата: Adler от 23.11.2022, 14:08Разбейте строку возвращаемую response.Content.ReadAsStringAsync() на массив
Разбейте строку возвращаемую response.Content.ReadAsStringAsync() на массив
Цитата: XpucT от 24.11.2022, 10:434leth, привет 🖐
var multiLines = (await GetData("запрос")).Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList(); multiLines.ForEach(line => listBox1.Items.Add(line));
4leth, привет 🖐
var multiLines = (await GetData("запрос")).Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList();
multiLines.ForEach(line => listBox1.Items.Add(line));
Цитата: 4leth от 25.11.2022, 02:48Цитата: XpucT от 24.11.2022, 10:434leth, привет 🖐
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 от 24.11.2022, 10:434leth, привет 🖐
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));
Спасибо, работает. То что нужно!