Показать результат в ячейке данных Gridview Row в среде выполнения? - PullRequest
0 голосов
/ 20 мая 2011

Я загрузил данные из Datatable в DatagridView, которые выглядят так:

SerialNumber1 | Quantity | Issued Quantity | Status  |
    00001     |     1    |                 |         |
    00002     |     2    |                 |         | 

У меня есть это требование, которое заставляет меня застрять.

Мне нужно запросить записи таблицы данных данных впроверьте, совпадает ли загруженный серийный номер с фактическим.(может быть, используя linq - исправьте меня, если я ошибаюсь)

Пример:

var dgviewData = from a in gdview1.AsEnumerable()
                 where a<string>("SerialNumber").tostring() == txtserial.text
                 select a;

if(a.Count() > 0 )
{
    // Update Status of SerialNumber 00001 to Ok 
}
else
{
   //Error Serial Not Exist on Gridview
}

Если серийные номера на DGview совпадают с фактическим сканированным серийным номером, статус будет обновляться ввремя выполнения только для ячейки строки просмотра данных.

Например: серийный номер DGview = 00001 ---> фактическое сканированное устройство = 00001

SerialNumber1 | Quantity | Issued Quantity | Status  |
    00001     |     1    |        1        |   Ok    |
    00002     |     2    |                 |         |

Спасибо, С уважением ....

Ответы [ 3 ]

0 голосов
/ 20 мая 2011

Предположим, что в определенном случае вы получите отсканированный серийный номер.Поэтому, как только вы узнаете серийный номер, переберите DataGrid и проверьте, равен ли первый столбец в вашем сеточном представлении отсканированному, и если да, обновите текущую запись.

Итак, какая частьты на самом деле застрял?Перебирая записи?

0 голосов
/ 20 мая 2011

Ваш запрос LINQ немного отклонен, чтобы получить совпадающие строки, вы должны сделать:

string scannedNumber = txtserial.text;
var matchedRows = this.gdview1.Rows
    .Cast<DataGridViewRow>()
    .Where(r => scannedNumber.Equals(r.Cells[0].Value));

Затем, чтобы обновить «Issued Quantity» (ячейка с индексом = 2), просто выполните:*

Если вы не хотите увеличивать это число, используйте Int32.Parse / .TryParse.

0 голосов
/ 20 мая 2011

Из того, что я могу понять, я думаю, что вам нужно добавить таймер в форму и по событию таймера автоматически проверять базу данных на любые обновления для существующих данных в gridview ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...