Индексировать строки, чтобы предотвратить вводящие в заблуждение данные в ячейке? - PullRequest
0 голосов
/ 26 августа 2011

В представлении данных у меня есть счетчики, которые обновляются, начиная с нуля, посредством отправки и отправки сообщений. Эти сообщения имеют типы, поэтому тип A будет увеличиваться, если сообщение типа A было отправлено как внутрь, так и снаружи. Я разрешил сортировку пользователей, чтобы пользователь мог видеть, какие типы сообщений отправляются или принимаются меньше или больше. Однако, так как я обновляю определенную ячейку в строке сообщения, после сортировки строк будет другое число и, таким образом, будет изменено значение другого счетчика. Например,

У меня есть типы A, B и C.

имеет 4 сообщения B имеет 6 сообщений, C имеет 32 сообщения.

Допустим, тип сообщения C приходит прямо сейчас, но пользователь сортирует столбцы, и тогда порядок будет

С 32 Б 6 А 4.

Так как это порядок, моя проблема в том, что я обновляю значение ячейки. Поэтому в таблице данных я буду обновлять значение ячейки [1, 2]. Это означает, что А будет иметь счетчик 5, а С все равно будет иметь счетчик 32, что неверно. Я знаю, что тип сообщения - C, так есть ли способ индексировать строки, чтобы я точно знал, какое значение ячейки строки обновлять, а не обновлять саму ячейку? Это приводит к довольно большой ошибке, и строки не имеют имен, поэтому я не уверен, как решить эту проблему. Я подумываю об использовании имени ячейки заголовка и установке для ячейки заголовка строк A, B, C, и всякий раз, когда вводится тип C, я ищу, в какой строке находится ячейка header C, затем перехожу к столбцу и обновите номер ячейки.

Любое понимание приветствуется. Большое вам спасибо!

.NET 3.5 SP1. -tf.rz

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Если ваш DataGridView не привязан ни к какому источнику данных , вам следует это сделать. Таким образом, вы можете обновить ваш DataSrid DataGridView, а DataGridView позаботится об обновлении правильных ячеек для вас.

Если ваш DataGridView привязан к источнику данных, вам нужно обновить источник данных, а не напрямую DataGridView.

1 голос
/ 26 августа 2011

Вам нужно искать строки после каждого сообщения. Самый простой способ - итерация

foreach (DataGridViewRow row in dataGridView1.Rows) 
...