Удаление цифр где id-100 из поле со списком текстовое поле с#
есть случай, который я загружаю из таблицы проектов в combobox:
private void InsertStatus_Load(object sender, EventArgs e) { connection = new MySqlConnection(); connection.ConnectionString = "datasource=localhost;port=3306;username=root;password="; connection.Open(); string selectQuery5 = "SELECT ID, PROJECT_NAME FROM projekt1.projects"; MySqlCommand command5 = new MySqlCommand(selectQuery5, connection); MySqlDataReader reader5 = command5.ExecuteReader(); while (reader5.Read()) { comboBox4.Items.Add(reader5.GetString("ID") + " " + reader5.GetString("PROJECT_NAME")); } connection.Close(); }
После загрузки данных в combobox он отображает все идентификаторы и имя_проекта
ID PROJECT_NAME ---- ------------ 1 dasa 2 dsag3 3 S-BOX . . . . . . 97 s-BOX12 98 S-DIX 99 S-DIX 100 DAFDS 101 DAF 102 DSA
В случае, если идентификаторы были от 1 до 99, это решило бы проблему с отображением полных имен (в столбце PROJECT_NAME):
private void comboBox4_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox4.SelectedIndex != -1) { string[] parts = comboBox4.Items[comboBox4.SelectedIndex].ToString().Split(' '); textBox10.Text = parts[0]; textBox4.Text = comboBox4.Text.Remove(0, 2).Trim(); } }
в текстовом поле будет отображаться полное имя без идентификаторов например:
SBOX12, DSA, S-BOX, SBO$, etc
Но там где идентификаторы составляют не менее 100 я боюсь что он не будет отображать полные имена:
0 sbox, 1 das, 2 S-BOX,
Я понятия не имею, что мне делать.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient; using System.Text.RegularExpressions; namespace ControlDatabase { public partial class InsertStatus : Form { MySqlConnection connection; MySqlCommand command; MySqlDataReader dr; Form1 frm1 = (Form1)Application.OpenForms["Form1"]; public InsertStatus() { InitializeComponent(); } private void InsertStatus_Load(object sender, EventArgs e) { connection = new MySqlConnection(); connection.ConnectionString = "datasource=localhost;port=3306;username=root;password="; connection.Open(); string selectQuery5 = "SELECT ID, PROJECT_NAME FROM projekt1.projects"; MySqlCommand command5 = new MySqlCommand(selectQuery5, connection); MySqlDataReader reader5 = command5.ExecuteReader(); while (reader5.Read()) { comboBox4.Items.Add(reader5.GetString("ID") + " " + reader5.GetString("PROJECT_NAME")); } connection.Close(); } private void comboBox4_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox4.SelectedIndex != -1) { string[] parts = comboBox4.Items[comboBox4.SelectedIndex].ToString().Split(' '); textBox10.Text = parts[0]; textBox4.Text = comboBox4.Text.Remove(0, 2).Trim(); } }
RmcbainTheThird
почему вы не устанавливаете textBox4.Text = parts[1]?. Кроме того, существует очень сильное предположение, что в названии проекта нет пробелов. Это правда? Если да, то откуда вы знаете, что это так?
Member 10696161
хорошо, я пробовал с textBox4.Text = parts[1], но он не отображает полное имя с пробелом, потому что, например:
textBox4.Text = parts[1] Exception -> S BOX Reality -> S