我想更新我的「交換機」上的datagridview來解決併發問題。當某些過程完成時,交換機有許多複選框用於檢查。當我點擊已編輯的記錄上的複選框時,由於dgv不是最新的,我得到併發錯誤。從另一個表單上的表單關閉事件更新表單
我試着這樣做:
How to refresh datagridview when closing child form?
無濟於事,因爲它在我的項目引發其他錯誤。
任何關於如何刷新我的交換機上的datagridview在窗體關閉另一種形式的幫助將是偉大的。
感謝
public partial class frmSwitch : Form
{
public frmSwitch()
{
//'add a label and a buttom to form
InitializeComponent();
}
public void PerformRefresh()
{
this.propertyInformationBindingSource.EndEdit();
this.propertyInformationTableAdapter.Fill(this.newCityCollectionDataSet.PropertyInformation);
this.propertyInformationDataGridView.Refresh() }
}
public partial class frmSummary : Form
{
frmSwitch _owner;
public frmSummary(frmSwitch owner)
//public frmSummary()
{
InitializeComponent();
_owner = owner;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSummary_FormClosing);
}
private void frmSummary_FormClosing(object sender, FormClosingEventArgs e)
{
_owner.PerformRefresh();
}
這就是我試圖做的,但它在其他情況下造成的問題時,我需要打開窗體2。這個問題特別是發生在2形式的原開口,其如下:
private void propertyInformationDataGridView_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
System.Data.DataRowView SelectedRowView;
newCityCollectionDataSet.PropertyInformationRow SelectedRow;
SelectedRowView = (System.Data.DataRowView)propertyInformationBindingSource.Current;
SelectedRow = (newCityCollectionDataSet.PropertyInformationRow)SelectedRowView.Row;
frmSummary SummaryForm = new frmSummary();
SummaryForm.LoadCaseNumberKey(SelectedRow.CaseNumberKey, true, null);
SummaryForm.Show();
}
@korrowan - 不知道你的意思,但基本上,這些方法可以更新您的數據網格,並揭開序幕的刷新方法的形式,所以你在不要((或其他))錯誤 – IAmTimCorey 2011-05-15 23:27:24
@BiggsTRC我相信這和我已經做過的事情是一樣的,除非我感到困惑......我原來的帖子是用我使用的代碼更新的。 – korrowan 2011-05-15 23:27:33
@korrowan - 如果您在交換機上手動運行更新,更新是否會工作?我問的是這個方法PerformRefresh工作嗎?你有沒有試過在你的總機上添加一個新的按鈕('Form1'),它可以啓動PerformRefresh方法,並在關閉Form2後點擊它? – IAmTimCorey 2011-05-15 23:37:07