[英]Datagridview adds up unwanted rows
每次在相關文本框中顯示變量“ temperature”和“ umidita”時,該代碼的最后一行應在datagridview中用3列填充一行。
這些數據來自串行端口,每x秒更新一次。
private void SetText(string text)
{
string temperatura;
string umidita;
if (this.txtOutput.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.BeginInvoke(d, new object[] { text });
}
else
{
string f = text;
char firstChar = f[0];
if (firstChar == 'T')
{
temperatura = f;
temperatura = f.Replace("T", "");
textBox1.Text = temperatura;
}
else if (firstChar == 'U')
{
umidita = f;
umidita = f.Replace("U", "");
textBox2.Text = umidita;
}
dataGridView1.Rows.Add(new string[] { DateTime.Now.ToString("HH:mm:ss"), textBox1.Text, textBox2.Text });
}
}
該代碼正在運行,但是我一次獲得了3行,並填充了相同的數據。
我不熟悉datagridview,也不清楚為什么會出現這種行為。 我需要更改什么才能在時間上填充“ temperatura”和“ umidita”一行?
////您可以檢查這一次是否已插入行
int rowsCount = dataGridView1.Rows.Count;
string cuurentTime = DateTime.Now.ToString("HH:mm:ss");
if (cuurentTime != dataGridView1.Rows[rowsCount - 1].Cells[0].Value.ToString())
{
dataGridView1.Rows.Add(new string[] { cuurentTime, textBox1.Text, textBox2.Text });
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.