0

私は次のコードを持っています。別のフォームからテーブルに新しいレコードを追加したときに更新したいのですが、現時点ではすべてのテーブルデータを取得していますが、新しいデータを追加するとここには表示されませんが、保存されたデータがデータグリッドビューに表示されるようにするには、プログラムを閉じて再度実行する必要があります。私の質問は、テーブル情報が常にそこにあるようにするために、データグリッドビューを更新する方法です。私が持っているコードは次のとおりです。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace project
{
    public partial class frmViewBookings : Form
    {
        public frmViewBookings()
        {
            InitializeComponent();
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            Form3 mainpage = new Form3();
            mainpage.Show();
            this.Close();
        }

        private void frmViewBookings_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'usersDataSet1.Booking' table. You can move, or remove it, as needed.
            this.bookingTableAdapter.Fill(this.usersDataSet1.Booking);

        }
    }
}
4

1 に答える 1

0

frmViewBookings で既存のメソッドを追加/編集します。

private void frmViewBookings_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the 'usersDataSet1.Booking' table. You can move, or remove it, as needed.
    UpdateData();

}

public void UpdateData()
{
    this.bookingTableAdapter.Fill(this.usersDataSet1.Booking);
}

次にUpdateData()、他のフォームから呼び出します

他のフォームで、最初のフォームを保持するプロパティを追加します。

public partial class frmBooking : Form
{
    public frmViewBookings myBookingsFrm = null;
}

次に、frmBooking フォームを作成するときに、次のようにします。

frmBooking frmNewBookingFrm = new frmBooking();
frmNewBookingFrm.myBookingsFrm = this;//or whatever reference to the first frmViewBookings is

したがって、frmBooking 内に新しいレコードを挿入した後、次のように呼び出します。

myBookingsFrm.UpdateData();
于 2013-03-27T16:50:49.007 に答える