このコードの最後の行は、変数「温度」と「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」という時間で1行ずつ入力するには、何を変更する必要がありますか?