在datagridview中,我通过发送和发送的消息从零开始更新计数器。这些消息具有类型,因此如果类型A消息被输入或输出,则类型A将递增。我已经允许用户排序,因此用户可以查看最少或最多发送或接收的消息类型。但是,由于我更新了邮件行中的特定单元格,因此一旦对行进行排序,就会出现一个不同的数字,因此,另一个计数器会被排除。价值会改变。例如,
我有A,B和C类型。
A有4条消息 B有6条消息, C有32条消息。
让我们说消息类型C现在正在进入,但是用户对列进行排序,然后订单将是
C 32 B 6 A 4。
由于这是订单,我的问题是我更新了单元格值。所以在数据网格中,我要更新单元格[1,2]的值。这意味着A的计数器为5,而C仍然有32的计数器,这是不正确的。我知道消息类型是C,所以有一些方法可以对行进行索引,因此我确切知道要更新哪个行的单元格值而不是更新单元格本身?这导致了一个非常大的错误,行没有名称,所以我不确定如何处理这个问题。我正在考虑使用标题单元格的名称并将行的标题单元格设置为A,B,C,每当C类型进入时,我都会查找标题单元格中的哪一行' C& #39;进入,然后导航到列并更新单元格编号。
任何见解都表示赞赏。非常感谢你!
.NET 3.5 SP1。 -tf.rz
答案 0 :(得分:1)
您需要在每封邮件后搜索行。最简单的方法是迭代
foreach (DataGridViewRow row in dataGridView1.Rows)
答案 1 :(得分:1)
如果您的DataGridView未绑定到任何DataSource,您应该这样做。这样您就可以更新DataGridView的DataSource,DataGridView负责为您更新正确的单元格。
如果您的DataGridView绑定到DataSource,则需要直接更新DataSource而不是DataGridView。