View Full Version : ریختن اطلاعات فرم دوم در DataGridView فرم اول
  
reza11_2005
یک شنبه 26 فروردین 1397, 00:07 صبح
سلام وقت بخیر ما این روز ها حسابی فعال شدایم اما خوب من یک مشکل کوچک دارم
ببنید من دوتا فرم دارم 
و دو جدول
الان می خواهم اطلاعات TexBox فرم دوم داخل دیتا گرید فرم اول وارد کنم و بعدا از آن تمامی اطلاعات داخل دیتابیس وارد کنم اگر امکانش هست توضیحی بدهید چطور می شود اینکار کرد و اگر منبعی سراغ دارید ممنون شما می شوم
با تشکر
danialafshari
یک شنبه 26 فروردین 1397, 12:49 عصر
با سلام
برای جالجایی اطلاعات بین دو فرم میتونید از کلاس استفاده کنید و اگر قراره فرم new بشه میتونید از سازنده(Constructor) استفاده کنید
یک کلاس بسازید:
    public class Class1    {
        private static string firstName;
        public static string FirstName
        {
            get { return firstName; }
            set { firstName = value; }
        }
        private static string lastName;
        public static string LastName
        {
            get { return lastName; }
            set { lastName = value; }
        }
    }
روی فرم 1 یک دیتاگرید با Column قرار دهید
حالا در فرم 1 یک دکمه برای باز کردن فرم 2 بذارید:
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2();
            if (frm2.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                dataGridView1.Rows.Add(Class1.FirstName, Class1.LastName);
            }
        }
در فرم 2 هم بصورت زیر میتونید اطلاعات TextBox ها رو به پراپرتی های کلاس منتقل کنید:
        private void SendData_Click(object sender, EventArgs e)        {
            Class1.FirstName = txtFirstName.Text.Trim();
            Class1.LastName = txtLastName.Text.Trim();
            DialogResult = System.Windows.Forms.DialogResult.OK;
            this.Close();
        }
برای ذخیره در دیتابیس هم یک حلقه For قرار میدی به تعداد سطر Row های دیتاگرید عمل Insert رو انجام میده
موفق باشید
barnamenevisjavan
دوشنبه 27 فروردین 1397, 00:27 صبح
سلام وقت بخیر ما این روز ها حسابی فعال شدایم اما خوب من یک مشکل کوچک دارم
ببنید من دوتا فرم دارم 
و دو جدول
الان می خواهم اطلاعات TexBox فرم دوم داخل دیتا گرید فرم اول وارد کنم و بعدا از آن تمامی اطلاعات داخل دیتابیس وارد کنم اگر امکانش هست توضیحی بدهید چطور می شود اینکار کرد و اگر منبعی سراغ دارید ممنون شما می شوم
با تشکر
راه ساده تر این هستش:
در فرم 1 متغیر پابلیک و استاتیک بسازین
public static string myvalue = string.empty;
بعدش هرجا قراره مقدارش این متغیر نشون بدین قرار بدینش.
درنهایت در فرم 2 که قراره مقدارش رو از اونجا بهش پاس بدین به این صورت عمل کنید
form1.myvalue = "مقدار جدید";
new form1().showdialog();
rehbare
سه شنبه 25 اردیبهشت 1397, 15:08 عصر
تشکر 
حالا اگه بخوایم از گرید ویو یک به گرید ویو 2 ارسال کنیم چطوری میشه
danialafshari
سه شنبه 25 اردیبهشت 1397, 17:39 عصر
تشکر 
حالا اگه بخوایم از گرید ویو یک به گرید ویو 2 ارسال کنیم چطوری میشه
آیدی از گرید1 استخراج میشه و گرید 2 بر اساس اون آیدی جستجو میکنه که معمولاً برای کلید اصلی و کلید خارجی مورد استفاده قرار میگیره
rehbare
سه شنبه 25 اردیبهشت 1397, 19:09 عصر
آیدی از گرید1 استخراج میشه و گرید 2 بر اساس اون آیدی جستجو میکنه که معمولاً برای کلید اصلی و کلید خارجی مورد استفاده قرار میگیره
کدش چطوری نوشته می شه
danialafshari
چهارشنبه 26 اردیبهشت 1397, 18:27 عصر
کدش چطوری نوشته می شه
با سلام در تاپیک خودتون کدش رو گذاشتم ID رو استخراج می کنید سپس یک Select میزنید جایی که ID = DataGridView1 استخراج شده
string _ID= dataGridView1["id", dataGridView1.CurrentRow.Index].Value.ToString();
//Select("select * from YourTable Where ID = _ID"); //For Sample
موفق باشید
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.