akinwunmi Ответов: 1

Как обновить datagrid автоматически после вставки с помощью usercontrol в C# windows form


Добрый день всем, я работаю над кредитной заявкой. я использую три элемента управления пользователями и одну форму. в пользовательские элементы управления являются(registrationform,Профиль пользователя,статуса кредита). регистрационная форма usercontrol содержит button,textboxs,picturebox и datetimepicker, а userprofile usercontrol состоит из datagridview, который показывает вновь вставленные данные. пожалуйста, я хочу, чтобы datagridview автоматически обновлялся после того, как пользователь вставляет туда данные.

иногда это дает мне такую ошибку
There is no argument given that corresponds to the required formal parameter 'upa' of 'Registrationform.Registrationform(userprofile)' 


пожалуйста, мне нужна полная коррекция.

Что я уже пробовал:

usercontrol registrationform


public partial class Registrationform : UserControl
    {
        userprofile up;
      
        public Registrationform(userprofile upa)
        {
            InitializeComponent();
            up = upa;

con.Open();
            private void btnreg_Click(object sender, EventArgs e)
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = con;
                    cmd.CommandText = "INSERT INTO Registrationform([Employementnumber],[FullName],[Dateofbirth],[Gender],[Occupation],[Maritalstatus],[Email],[Department],[Position],[HomeAddress],[Phonenumber],[Nationality],[Stateoforigin],[image]) VALUES (@empno,@fullname,@dob,@gen,@occ,@ms,@email,@dept,@post,@haddress,@pno,@nation,@soo,@img)";

                    cmd.Parameters.AddWithValue("@empno", txtempno.Text);
                    cmd.Parameters.AddWithValue("@fullname", txtfullname.Text);
                    cmd.Parameters.AddWithValue("@dob", dob.Value);
                    cmd.Parameters.AddWithValue("@gen", gender);
                    cmd.Parameters.AddWithValue("@occ", txtoccupation.Text);
                    cmd.Parameters.AddWithValue("@ms", 
                    cmd.Parameters.AddWithValue("@email", txtemail.Text);
                    cmd.Parameters.AddWithValue("@dept", txtdept.Text);
                    cmd.Parameters.AddWithValue("@post", txtpost.Text);
         up.disp();

        }

usercontrol userprofile
 public void disp()
        {
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "select * from Registrationform";
            cmd.ExecuteNonQuery();
            DataTable data = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
    

            da.Fill(data);
            dtuserpro.DataSource = data;
            con.Close();

Richard Deeming

Этот код, очевидно, не будет компилироваться. Вы пытались объявить обработчик событий внутри конструктора. Вы используете переменные, которых не существует. У вас есть случайные слова в середине кода. Тебе не хватает закрывающих скобок.

1 Ответов

Рейтинг:
1

Gerry Schmitz

Добавьте в форму регистрации конструктор по умолчанию, который не требует параметра.

Затем выясните, где вы вызываете форму без параметра (если это не "время разработки").