0 امتیاز
با سلام خدمت همه دوستان عزیز

من یک پروزه داردم با دو تا فرم

نکته:در دوتا فرم هم دیتاگریدوی هست که دوتاش از یک جدول دیتابیس استفاده میکنن

در فرم اول یک سری اطلاعات وارد میکنمو ذخیره

در فرم دوم قابلیت حذف گذاشتم براش .هر سطری از دیتاگریدویو رو کلیک کنم روش میتونم حذف کنم.

فرم اول رو باز و اطلاعات ذخیره میشه با دکمه نمایش فرم دوم به صورت shodialogباز میشه . فرم اول هم سر جاش هست

خب در فرم دوم یک سطر حذف میکنم .

من میخوام با حذف در فرم دوم همونجا در فرم اول اطلاعاتی که مثلا موجودی انبار است دوباره هر چی کم شده برگرده ولی تا فرم رو نبندم و باز نکنم (فرم اول)اطلاعات برنمیگرده .تو قسمت اکتیو فرم هم کد رو نوشتم ولی نشد.

چکار کنم؟

باتشکر
بسته شده

1 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام دوست عزیز

روش اول قرار دادن کدهات توی تایمره که میتونه دیتابیس رو هر یه ثانیه چک کنه

و روش دوم

تو فرم1 همون فرمی که عملیات حذف رو انجام نمیدی

میتونی از این روش استفاده کنی

تو قسمت InitializeComponent کدهای لود دیتابیس رو قرار بده 

 OleDbConnection con;
        private OleDbCommand cmd1;
      
        private OleDbDataAdapter adp1;
        DataSet ds;
********************************************************************************
 public UsersFrm()
        {
            InitializeComponent();
con = new OleDbConnection(conectcls.conect);
            cmd1 = new OleDbCommand("Select * from tbl order by ID", con);
            ds = new DataSet();
            adp1 = new OleDbDataAdapter(cmd1);
            adp1.Fill(ds, "tbl");
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "tbl";
        }

 

برای این کار میبایست دسترسی دیتاگرید رو public کنید و توی فرم 2 یه ابجکت از فرم 1 بسازید و پس از حذف یا درج تابع رفرش دیتاگرید رو از فرم 1 فراخوانی کنید
توسط (7,164 امتیاز) 4 7 141

کد مربوطه

 

     private void button1_Click(object sender, EventArgs e)
        {

            try
            {
                if (dataGridView1.CurrentRow != null)
                {
                    if (MessageBox.Show("آیا میخاهید این ردیف پاک شود؟", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        int DLT = Convert.ToInt16(dataGridView1.CurrentRow.Cells[0].Value.ToString());
                        OleDbConnection cnn = new OleDbConnection(conected);
                        OleDbCommand cmd = new OleDbCommand("Delete  From tbltax Where ID=" + DLT, cnn);
                        cnn.Open();
                        cmd.ExecuteNonQuery();
                        cnn.Close();
                        MessageBox.Show("Success");

                      
                      

                    }
                    Form1 ff = new Form1();
                    //  ff.button1_Click(sender, e);
                    ff.Refreshfrm1();

                    refreshh();
                }
                }
            catch 
            {

               
            }

           
               

           
           
        }

 

توسط (7,164 امتیاز) 4 7 141
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...