這段代碼的最後一行是爲了填補在一排在一個DataGridView變量「溫度」和「umidita」中的相關文本框中顯示每次3列。的DataGridView增加了不必要的行
這些數據來自串口並獲得每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」?
也許被執行Rows.Add 3倍?你可以把一個斷點和驗證? –
是的,它執行了3次。但爲什麼? – FeliceM
是否多次調用'SetText'?它可能是數據輸入。 –