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

نام تاپیک: چطور در یک دکمه هم ثبت انجام شود و هم ویرایش

  1. #1

    چطور در یک دکمه هم ثبت انجام شود و هم ویرایش

    دوباره سلام
    توی این فرم وقتی اطلاعات ثبت می شه تو datagrid نشون می ده وقتی کاربر روی یه سطر کلیک می کنه و دکمه ویرایش رو می زنه اطلاعات اون سطر وارد textbox ها می شه حالا می خوام وقتی دکمه ثبت رو می زنم ویرایش اطلاعات ثبت بشه نه اینکه یه سطر جدید اضافه بشه چی کار باید بکنم؟



  2. #2

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

    سلام ،

    روشی که خودم همیشه استفاده میکنم اینه که وقتی که کاربر روی دکمه ی ویرایش کلیک میکنه دکمه ثبت رو Disable میکنم و خصوصیت Text دکمه ی ویرایش رو به ثبت ویرایش تغییر میدم و توسط دستور if دستورات مختلف رو بهش میدم...یعنی با یه دستور if میگم اگر خاصیت text دکمه ی ویرایش برابر ویرایش بود فیلد های سطر جاری رو به تکست باکس ها انتقاب بده در خیر این صورت بیا اطلاعات رو ویرایش کن..

    موفق باشید./

  3. #3

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

    نقل قول نوشته شده توسط The Life مشاهده تاپیک
    سلام ،

    روشی که خودم همیشه استفاده میکنم اینه که وقتی که کاربر روی دکمه ی ویرایش کلیک میکنه دکمه ثبت رو Disable میکنم و خصوصیت Text دکمه ی ویرایش رو به ثبت ویرایش تغییر میدم و توسط دستور if دستورات مختلف رو بهش میدم...یعنی با یه دستور if میگم اگر خاصیت text دکمه ی ویرایش برابر ویرایش بود فیلد های سطر جاری رو به تکست باکس ها انتقاب بده در خیر این صورت بیا اطلاعات رو ویرایش کن..

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



    privatevoid Editbutton_Click(object sender, EventArgs e)

    {

    if (ClasscodetextBox.Text == "")

    {

    if (ClassdataGridView.SelectedRows.Count == 0)

    {

    MessageBox.Show(".کالای مورد نظر را برای ویرایش انتخاب کنید");

    }

    else

    {

    data.classcode =

    Convert.ToString(ClassdataGridView.SelectedCells[0].Value);

    data.capacity =

    Convert.ToString(ClassdataGridView.SelectedCells[1].Value);


    ClasscodetextBox.Text = data.classcode;

    CapacitytextBox.Text = data.capacity;

    }

    }


    else

    {

    Registerbutton.Enabled =

    false;


    this.Editbutton.Text = " ثبت ویرایش";

    data1.Update(data.classcode, data);



    MessageBox.Show(".اطلاعات کلاس با موفقیت ثبت شد");

    ClassdataGridView.DataSource = data1.GetFilledDataSource(

    classFilterBy.classcode, ClasscodetextBox.Text);

    FormDataClear();

    SetDataGridViewSettings();

    }

    }




  4. #4
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    38
    پست
    1,104

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

    ببین دوست عزیز تو اینجور مسائل راه درست اینع که برای فرمت یه ویژگی formMode در نظر بگیری.. وقتی کاربر دکمه ویرایش رو میزنه فرم به mode ویرایش میره و اطلاعات اون ردیف گرید رو توی textboxهای بالا نشون میده.. حالا وقتی دکمه ثبت زده بشه بر اساس اینکه فرمت تو چه modeیه عملیات update یا Insert انجام میدی... تو اینجور فرم ها بهتره که برای اضافه کردن رکورد هم یه دکمه بذاری به اسم اضافه و وقتی اونو کلیک کرد فرمت به mode اضافه کردن بره و توی دکمه ثبت چک کنی اگه mode اضافه بود insert کنی و اگه mode ویرایش بود update انجام بدی

  5. #5
    کاربر دائمی آواتار s3rv3r
    تاریخ عضویت
    آذر 1389
    محل زندگی
    Cyber
    پست
    243

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

    تو يه دكمه راحت كارتو انجام بده
    قبلا اينكه درج كني يه سرچ انجام بده كه اگه اون كد كلاس موجود بود عمليات ويرايش انجام بشه بر اسا كل كلاس
    اگه اون كد كلاس موجود نبود خب درج كنه.

  6. #6
    کاربر دائمی آواتار uniqueboy_ara
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    420

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

    شما با یه متغییر bool و مقدار دهی به اون در زمان های معین، به راحتی میتونی این کار رو انجام بدی
    این پروژه ای که گذاشتم کارتو راه میندازه
    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    38
    پست
    1,104

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

    راهی که دوستمون گفته درسته ولی این در شرایطی که صرفا بخوای دو تا کار با این دکمه انجام بدی.. اگه حذف هم با همین دکمه بخوای انجام بدی دیگه متغیر bool به کارت نمیاد.. کلا به فرم هایی که یه دکمه توشون قرار بر اساس شرایط مختلف کارای مختلفی انجام بده ModeBase Form میگن و واسه اینکه بتونی مثلا حذف رو هم با همین دکمه میدیرت کنی مجبوری که یه enumeration تعریف کنی که مد های مختلفی که فرمت میتونه داشته باشه رو توش تعریف کنی و حالا تو دکمه ثبت بر اساس اینکه تو چه مدی هستی کار مورد نظرت رو انجام بده
    موفق باشی

  8. #8

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

    بهتره یه متغیر Public توی فرمت تعریف کنی به این شکل :
    public bool isUpdate = false;


    بعد توی فرم لود متغیر بالا رو چک کن که اگر True بود به قول دوستمون دکمه Update رو Enable کنه و در غیر این حالت دکمه Insert رو Enable کنه :

     if (isUpdate)
    {
    btn_Insert.Enabled = false;
    btn_Update.Enabled = true;
    txt_movieID.Text = "";
    txt_movieID.Enabled = true;
    OleDbConnection con = new OleDbConnection(@"provider= microsoft.jet.oledb.4.0;" + "data source=" + Application.StartupPath + @"\data\db.mdb");
    DataSet ds = new DataSet();
    OleDbDataAdapter da = new OleDbDataAdapter("select *from Movies where MovieID='" + idtoUpdate + "'", con);
    da.Fill(ds, "Movies");
    DataRow drow = ds.Tables["Movies"].Rows[0];
    txt_casts.Text = drow["Casts"].ToString();
    txt_director.Text = drow["DirectorName"].ToString();
    txt_duration.Text = drow["Duration"].ToString();
    txt_genre.Text = drow["Genre"].ToString();
    txt_medium.Text = drow["Medium"].ToString();
    txt_movieID.Text = drow["MovieID"].ToString();
    txt_plot.Text = drow["PlotOutLine"].ToString();
    txt_product.Text = drow["Country"].ToString();
    txt_season.Text = drow["Season"].ToString();
    txt_title.Text = drow["Title"].ToString();
    txt_yaer.Text = drow["Sal"].ToString();
    txt_file.Text = drow["cover"].ToString();
    //pictureBox1.Load(txt_file.Text);
    pictureBox1.Image = Image.FromFile(Application.StartupPath+"\\"+ txt_file.Text);
    txt_movieID.Enabled = false;
    num_no.Value = Convert.ToDecimal(drow["DiscsNo"]);
    if (drow["season"].ToString() == "film")
    cmb_season.SelectedIndex = 0;
    else
    cmb_season.SelectedIndex = 1;
    }

    else
    {
    btn_Insert.Enabled = true;
    btn_Update.Enabled = false;
    OleDbConnection con = new OleDbConnection();
    con.ConnectionString = @"provider= microsoft.jet.oledb.4.0;" + "data source=" + Application.StartupPath + @"\data\db.mdb";
    con.Open();
    OleDbCommand cmd = con.CreateCommand();
    cmd.CommandText = "Select MovieID From Movies";
    OleDbDataReader dr = cmd.ExecuteReader();
    if (txt_movieID.Text == "")
    txt_movieID.Text = "0";
    while (dr.Read())
    {
    if (Convert.ToInt32(txt_movieID.Text) < Convert.ToInt32(dr["MovieID"].ToString()))
    txt_movieID.Text = dr["MovieID"].ToString();
    }
    txt_movieID.Text = Convert.ToString(Convert.ToInt32(txt_movieID.Text) + 1);
    con.Close();
    }


    کد بالا اول میاد شرط Update بودن رو چک می کنه اگر True بود اطلاعات ID موردنظر رو توی TextBox های مربوطه نشون میده در غیر اینصورت آخرین ID رو یه واحد بهش اضافه می کنه.

  9. #9

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

    سلام دوست عزیر
    یک روش بسیار ساده که خودم هم استفاده می کنم این است که وقتی در دیتا گرید رو فیلد مورد نظر برای ویرایش کلیک کردی وارد text box ها شد ویرایش رو که انجام دادی روی دکمه ویرایش بزن سپس ویرایش در بانک انجام میشه یعنی دکمه ویرایش و ثبت دو دکمه جداگانه از هم باشند(به همین صورتی که در فرم نشان داده شده)

  10. #10
    کاربر دائمی آواتار ya30ien2
    تاریخ عضویت
    تیر 1390
    محل زندگی
    بوشهر-برازجان
    پست
    715

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

    منم با اون دوستمون که گفتن قبل از ثبت سرچ کنه موافقم
    اول شما کد کلاس رو سرچ میکنی اگه موجود بود که ویرایش میکنی و اگه وجود نداشت اضافه میکنی
    فکر میکنم راهتر از بقیه راها باشه

  11. #11

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

    نقل قول نوشته شده توسط ya30ien2 مشاهده تاپیک
    منم با اون دوستمون که گفتن قبل از ثبت سرچ کنه موافقم
    اول شما کد کلاس رو سرچ میکنی اگه موجود بود که ویرایش میکنی و اگه وجود نداشت اضافه میکنی
    فکر میکنم راهتر از بقیه راها باشه
    به نظر من این روش اصلا بهینه نیست،

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

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