[英]Gridview not adding new row in C#
我正在使用 Microsoft Visual Studio Professional 2017 C#。 這是一個奇怪的。 我正在嘗試向我的 Gridview 表中添加一行。 但是,該行僅在我切換到新選項卡然后返回到該選項卡時才會顯示。 所以我有 5 個標簽。 如果我切換到另一個選項卡,然后又回到同一個選項卡,我會看到我的新行。 我試圖這樣做:
public void UpdateGrid(int number)
{
try
{
if (InvokeRequired)
{
BeginInvoke(new Action(() =>
{
if (number == 1)
dataGridView1.Update();
else
dataGridView2.Update();
}));
return;
}
if (number == 1)
dataGridView1.Update();
else
dataGridView2.Update();
}
catch (Exception y) {}
}
但它仍然做同樣的事情。 在我切換到新選項卡並返回到該選項卡之前,不會顯示新行。 我正在使用線程,這就是我的更新。
這是我的代碼:
void add_To_table(string site, string X, string Y, float Ts625, float Tp625, float CR625, float Ts1550, float Tp1550, float CR1550, string Xum, string Yum, int tablePick )
{
try
{
if (tablePick == 1)
{
table.Rows.Add(site, X, Y, Ts625, Tp625, CR625, Ts1550, Tp1550, CR1550, Xum, Yum);
dataGridView1.DataSource = table;
}
else
{
table2.Rows.Add(site, X, Y, Ts625, Tp625, CR625, Ts1550, Tp1550, CR1550, Xum, Yum);
dataGridView2.DataSource = table2;
}
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
}
我不是 100% 確定它可能是解決方案,但您是否曾經在 try{} 之外編寫過 Update() 命令
void add_To_table(string site, string X, string Y, float Ts625, float Tp625,
float CR625, float Ts1550, float Tp1550, float CR1550, string Xum, string Yum,
int tablePick )
{
try
{
if (tablePick == 1)
{
table.Rows.Add(site, X, Y, Ts625, Tp625, CR625, Ts1550, Tp1550, CR1550, Xum, Yum);
dataGridView1.DataSource = table;
}
else
{
table2.Rows.Add(site, X, Y, Ts625, Tp625, CR625, Ts1550, Tp1550, CR1550, Xum, Yum);
dataGridView2.DataSource = table2;
}
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
dataGridView1.Update();
dataGridView2.Update();
}
如果您在嘗試后發布結果,我會很高興
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.