نمایش نتایج 1 تا 9 از 9

نام تاپیک: مشکل در پاس دادن اطلاعات بین فرم ها

  1. #1

    مشکل در پاس دادن اطلاعات بین فرم ها

    با سلام

    من یک برنامه نوشته ام که با روش Entity Framework به بانک متصل می شود

    حال مشکل اینجاست که برای ویرایش یک فرم جدا قرار داده ام

    اطلاعات را به طور کامل پاس می دهد

    edit_bime edit = new edit_bime();
    private void ویرایشToolStripMenuItem_Click(object sender, EventArgs e)
    {
    edit.Show();
    int cud = int.Parse(dg_user.CurrentRow.Cells[0].Value.ToString());
    db_bime tu = dbm.db_bime.First(c => c.ID == cud);
    edit.bname.Text = tu.bime_name;
    edit.bprice.Text = tu.bime_price;
    }

    ولی نمدونم که تو button فرم ویراش چی بنویستم که ذخیره بشه
    لطفا راهنمایی کنید
    با تشکر

    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 06 بهمن 1394 در 20:17 عصر

  2. #2

    نقل قول: مشکل در پاس دادن اطلاعات

    نیازی نیست تکست باکسهای فرم ادیت رو پابلیک کنید.
    یک پارامتر ورودی برای سازنده فرم ادیت قرار بده و در دکمه ثبت تغییرات، مقادیر تکست باکسها رو در فیلدها ست کنید.

    public partial class edit_bime : Form
    {
    private db_bime _objBime;

    public edit_bime(db_bime bime)
    {
    InitializeComponent();

    _objBime = bime;
    bname.Text = _objBime.bime_name;
    bprice.Text = _objBime.bime_price;
    }

    private void btnSave_Click(object sender, EventArgs e)
    {
    _objBime.bime_name = bname.Text;
    _objBime.bime_price = bprice.Text;
    this.DialogResult = DialogResult.OK;
    this.Close();
    }
    }

    در فرم قبلی هم از متد ShowDialog استفاده کنید و بعد عمل ثبت تغییرات

    edit_bime edit;

    private void ویرایشToolStripMenuItem_Click(object sender, EventArgs e)
    {
    int cud = int.Parse(dg_user.CurrentRow.Cells[0].Value.ToString());
    db_bime tu = dbm.db_bime.FirstOrDefault(c => c.ID == cud);
    if (tu != null)
    {
    edit = new edit_bime(tu);
    edit.ShowDialog();
    if (edit.DialogResult == DialogResult.OK)
    {
    dbm.SaveChanges();
    }
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 06 بهمن 1394 در 21:24 عصر

  3. #3

    نقل قول: مشکل در پاس دادن اطلاعات

    در صورتی هم که بخواهی از DataBinding کنترل ها استفاده کنید به صورت زیر تغییر بدید

    public partial class edit_bime : Form
    {
    public edit_bime(db_bime bime)
    {
    InitializeComponent();

    bname.DataBindings.Add("Text", bime, "bime_name", false, DataSourceUpdateMode.OnPropertyChanged);
    bprice.DataBindings.Add("Text", bime, "bime_price", false, DataSourceUpdateMode.OnPropertyChanged);
    }

    private void btnSave_Click(object sender, EventArgs e)
    {
    this.DialogResult = DialogResult.OK;
    this.Close();
    }
    }

    و در جایی که فرم ادیت ایجاد میشه

    edit_bime edit;

    private void ویرایشToolStripMenuItem_Click(object sender, EventArgs e)
    {
    int cud = int.Parse(dg_user.CurrentRow.Cells[0].Value.ToString());
    db_bime tu = dbm.db_bime.FirstOrDefault(c => c.ID == cud);
    if (tu != null)
    {
    edit = new edit_bime(tu);
    edit.ShowDialog();
    if (edit.DialogResult != DialogResult.OK)
    {
    dbm.Entry(tu).State = EntityState.Unchanged;
    }
    dbm.SaveChanges();
    }
    }

  4. #4

    نقل قول: مشکل در پاس دادن اطلاعات

    با تشکر از شما

    لطفا این قسمت
    یک پارامتر ورودی برای سازنده فرم برای من توضیح دهید

  5. #5

    نقل قول: مشکل در پاس دادن اطلاعات

    با سلام

    من در این مورد باز به یک مشکلی خوردم

    error.png
    به (code_meli) گیر میده . من تو دیتا بیس تایپش رو nvchar 50 قرار دادم

    نمی دونم این اررور برای چیه؟


    کد فرم دیتا گرید



    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Linq;
    using System.Windows.Forms;
    using Telerik.WinControls;


    namespace Matab.bimar
    {
    public partial class show : Telerik.WinControls.UI.RadForm
    {
    public show()
    {
    InitializeComponent();
    }
    private void sho()
    {
    dg1.DataSource = dbm.db_bimar.ToList();
    // dgw.DataSource = dbm.db_bimar.ToList();
    dg1.DataSource = dbm.db_bimar.ToList();
    dg1.Columns["code_meli"].HeaderText = "کد ملی";
    dg1.Columns["name"].HeaderText = "نام";
    dg1.Columns["family"].HeaderText = "نام خانوادگی";
    dg1.Columns["bime_name"].HeaderText = "بیمه";
    dg1.Columns["birth"].HeaderText = "تاریخ تولد";
    dg1.Columns["s_p"].HeaderText = "شماره پرونده";
    dg1.Columns["acceptdate"].HeaderText = "ویزیت";
    dg1.Columns["phone"].HeaderText = "تلفن";
    dg1.Columns["address"].HeaderText = "آدرس";
    //-------------------------------------------------
    dg1.Columns.Remove("s_bime");
    dg1.Columns.Remove("sv_bimar");
    dg1.Columns.Remove("email");
    dg1.Columns.Remove("birth");
    dg1.Columns.Remove("gender");
    //************************************************** **********
    }


    dbmt dbm = new dbmt();


    private void show_Load(object sender, EventArgs e)
    {

    sho();
    cs.SelectedIndex=0;


    }


    private void حذفToolStripMenuItem_Click(object sender, EventArgs e)
    {
    if (MessageBox.Show("آیا مایل به حذف می باشید ", "توجه", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
    string cm =dg1.CurrentRow.Cells[0].Value.ToString();
    db_bimar tu = dbm.db_bimar.First(n =>n.code_meli==cm);
    dbm.db_bimar.Remove(tu);
    dbm.SaveChanges();
    dg1.DataSource = dbm.db_bimar.ToList();


    }
    }


    private void radGroupBox1_Click(object sender, EventArgs e)
    {


    }


    private void radTextBox3_TextChanged(object sender, EventArgs e)
    {
    if (cs.Text == "شماره پرونده")
    {
    var search = dbm.db_bimar.Where(c => c.s_p.Contains(radTextBox3.Text));
    dg1.DataSource = search.ToList();

    }
    else if (cs.Text == "کد ملی")
    {
    var search = dbm.db_bimar.Where(c => c.code_meli.Contains(radTextBox3.Text));
    dg1.DataSource = search.ToList();



    }
    else if (cs.Text == "کد ملی")
    {
    var search = dbm.db_bimar.Where(c => c.family.Contains(radTextBox3.Text));
    dg1.DataSource = search.ToList();
    }
    else if (cs.Text == null)
    {
    sho();
    }






    }
    edit edit;
    private void ویرایشToolStripMenuItem_Click(object sender, EventArgs e)
    {
    int cud =int.Parse(dg1.CurrentRow.Cells[0].Value.ToString());
    db_bimar tu = dbm.db_bimar.FirstOrDefault(c => c.ID == cud);
    if (tu != null)
    {
    edit = new edit(tu);
    edit.ShowDialog();
    if (edit.DialogResult == DialogResult.OK)
    {
    dbm.SaveChanges();


    }


    sho();
    }
    }
    }
    }





    کد فرم ویرایش

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Telerik.WinControls;


    namespace Matab.bimar
    {
    public partial class edit : Telerik.WinControls.UI.RadForm
    {
    private db_bimar _objBimar;
    public edit(db_bimar bimar)
    {
    InitializeComponent();


    _objBimar = bimar;
    sp.Text=_objBimar.s_p;
    name.Text = _objBimar.name;
    family.Text = _objBimar.family;
    nbime.Text = _objBimar.bime_name;
    sbime.Text = _objBimar.s_bime;
    code_meli.Text = _objBimar.code_meli;
    bith.Text = _objBimar.birth;
    gr.Text=_objBimar.gender;
    tel.Text=_objBimar.phone;
    add.Text=_objBimar.address;
    em.Text=_objBimar.Email;
    sv.Text=_objBimar.sv_bimar;
    }


    private void radButton1_Click(object sender, EventArgs e)
    {
    _objBimar.s_p = sp.Text;
    _objBimar.name = name.Text;
    _objBimar.family = family.Text;
    _objBimar.bime_name = nbime.Text;
    _objBimar.s_bime = sbime.Text;
    _objBimar.code_meli = code_meli.Text;
    _objBimar.birth = bith.Text;
    _objBimar.gender = gr.Text;
    _objBimar.phone = tel.Text;
    _objBimar.address = add.Text;
    _objBimar.Email = em.Text;
    _objBimar.sv_bimar = sv.Text;
    this.DialogResult = DialogResult.OK;
    this.Close();

    }


    private void edit_Load(object sender, EventArgs e)
    {


    }


    private void radGroupBox3_Click(object sender, EventArgs e)
    {


    }


    private void bth_TextChanged(object sender, EventArgs e)
    {


    }


    private void radGroupBox2_Click(object sender, EventArgs e)
    {


    }
    }
    }



  6. #6

    مشکل در انتقال اطلاعات بین فرم ها

    سلام
    می خوام مقدار وارد شده در txtUser رآ به فرم user انتقال بدم ، در مثال های موجود در نت جستجو کردم ، برای دکمه فرم اول این کد رو قرار دادم :

    User frmUser = new User(txtUser.Text);
    frmUser.Show();

    که با خطا مواجه میشم :
    77.jpg

    در قسمت کلاس فرم user هم این کد را قرار دادم که خطای زیر را دارم :

    669.jpg

  7. #7

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

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

  8. #8

  9. #9

    نقل قول: مدیر عزیز بنده جستجو کردم،برای انتقال اطلاعات فرم مشکل خاصی بود که متاسفانه فقط عنوان را هد

    private void button1_Click(object sender, EventArgs e)
    {
    frmuser f = new frmuser();
    f.Text = textBox1.Text;
    f.ShowDialog();
    }

تاپیک های مشابه

  1. مشکل در share کردن اطلاعات بین اکتیویتی ها
    نوشته شده توسط sahar_mrd69 در بخش Android Studio
    پاسخ: 4
    آخرین پست: شنبه 19 مهر 1393, 16:31 عصر
  2. مشکل در پاس دادن اطلاعات ComboBox به Database
    نوشته شده توسط narges_j در بخش C#‎‎
    پاسخ: 13
    آخرین پست: چهارشنبه 30 مرداد 1392, 10:18 صبح
  3. مشکل در هنگام انتقال اطلاعات بین فرم ها
    نوشته شده توسط peymannaji در بخش VB.NET
    پاسخ: 6
    آخرین پست: پنج شنبه 19 مرداد 1391, 20:57 عصر
  4. سوال: مشکل در پاس دادن اطلاعات بین دو فرم
    نوشته شده توسط mahdi_7610 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: جمعه 25 اردیبهشت 1388, 00:33 صبح
  5. پاس دادن اطلاعات بین پنجره ها !!
    نوشته شده توسط manager در بخش طراحی وب (Web Design)
    پاسخ: 15
    آخرین پست: پنج شنبه 24 فروردین 1385, 06:10 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •