Member 13689928 Ответов: 2

Как я могу разделить qr - коды на столбцы


Привет Команда,

Мне нужна помощь по разбиению qr-кода на столбцы. Я создал таблицу, и когда я сканировал
QR-код текстовое поле выдаст символы и перенесет их в таблицу. В таблице есть 5 столбцов, и мне нужно разделить символы на основе (":").

Моя проблема заключается в том, что qr-код сканируется, а текстовое поле дает результат, но когда
перенос в таблицу с помощью события text changed, но это не разбиение символов.

Пожалуйста, помогите мне решить эту проблему.Ниже приведена ссылка на скриншот
<a href="https://ibb.co/hDMuoc"><img src="https://preview.ibb.co/hqC0Tc/1111.jpg" alt="1111" border="0"></a>
[^][^]

Что я уже пробовал:

private void result_TextChanged(object sender, EventArgs e)
     {
         DataTable Table = new DataTable();
         DataRow RowValues = database1DataSet.Table.NewRow();
         var stringToSplit = result.Text;
         var elements = result.Text.Split(':');
         {

             RowValues[1] = stringToSplit;
         }

             database1DataSet.Table.Rows.Add(RowValues);
             this.tableAdapterManager.UpdateAll(this.database1DataSet);

         this.tableTableAdapter.Fill(this.database1DataSet.Table);
         this.tableBindingSource.MoveLast();




     }

2 Ответов

Рейтинг:
2

Richard MacCutchan

Вы разделяете текст на вариабельные elements, но затем вы добавляете stringToSplit в новую строку, но это исходный нерасщепленный текст. Вы должны использовать a foreach сделайте петлю на разделенных элементах и добавьте каждый из них в новую строку.


Рейтинг:
2

Maciej Los

Я бы изменил ваш код таким образом:

DataTable dt = (DataTable) YourDataGridView.DataSource;

string qr = "rr:rr:rr:rr:rr";
DataRow dr = dt.NewRow();
foreach(int i in Enumerable.Range(1,5))
{
    dr.SetField(i, qr.Split(new string[]{":"}, StringSplitOptions.RemoveEmptyEntries)[i-1]);
}
dt.Rows.Add(dr);
YourDataGridView.DataSource = dt;


Member 13689928

Привет команда я решил ее во время ожидания решения и решение выглядит следующим образом :

строка qrCode = результат.Текст;
строка[] сепараторы = { "ORDERNO", "пакет", "САП", "пакет", "обозначение", "кол-во", "формирование", "размер" };
string[] array = qrCode.Split(разделители, StringSplitOptions.RemoveEmptyEntries);

это.tableBindingSource.метод AddNew();
oRDERNOTextBox.Text = array[0].Split(':')[1].Trim();
pACKETTextBox.Text = массив[1].Split(':')[1].Trim();
саптекстбокс.Text = массив[2].Split(':')[1].Trim();
pARTNOTextBox.Text = array[3].Split(':')[1].Trim();
qTYTextBox.Text = массив[4].Split(':')[1].Trim();
fORMATIONTextBox.Text = массив[5].Split(':')[1].Trim();
sIZETextBox.Text = массив[6].Split(':')[1].Trim();
текстовое поле textbox1.Текст = dATEDateTimePicker.Ценность.Метод toString();
это.tableBindingSource.Конец света();
это.tableAdapterManager.UpdateAll(this.database1DataSet);