دسته بندی ها
00:17 1400/09/15

ذخیره اطلاعات در دیتابیس از طریق دیتا گرید در WPF

مشخصات سوال کننده :
کاربر : mojtabahakimian     امتیاز کاربر : 155     رتبه کاربر : 10
دسته بندی : سی شارپ WPF Entity Framework Sql Server

به این سوال امتیاز بدهید    1
تعداد بازدید این سوال : 3631
2 نظر
mojtabahakimian : یه لینک در رابطه با این موضوع هست منتها متوجهش نمیشم به سوالم اضافه کردم امیداورم کمک کنه

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 11:19 1400/09/15
mojtabahakimian : اگر کسی با تقبل هزینه هم حاضره این کار رو انجام بده ممنون میشم به این آیدی تلگرام پیام بده : @AsemanProfiler

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 11:25 1400/09/15
هوش مصنوعی

پاسخ هوش مصنوعی

برای پیاده سازی امکان ذخیره سازی خودکار اطلاعات در دیتاگرید و استفاده از Entity Framework به روش DB First، می توانید از رویداد CellEditEnding به همراه بررسی تغییرات استفاده کنید. در زیر یک پیاده سازی بهبود یافته ارایه می شود که به شما کمک می کند تا تغییرات را به درستی شناسایی و آنها را در دیتابیس ذخیره کنید.

private void DGR_Formy_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
    if (DGR_Formy.SelectedItem != null)
    {
        // به دست آوردن سطر و ستونی که تغییر کرده است
        var editedRow = (Telbook)DGR_Formy.SelectedItem;
        var column = e.Column.Header.ToString();
        var cellContent = e.EditingElement as TextBox;

        // اگر محتوا یک TextBox است، محتوای جدید را دریافت کنید
        if (cellContent != null)
        {
            switch (column)
            {
                case "Name":
                    editedRow.Name = cellContent.Text;
                    break;
                case "Tel":
                    editedRow.Tel = cellContent.Text;
                    break;
            }
        }

        // اعمال تغییرات به دیتابیس
        dbms.Entry(editedRow).State = EntityState.Modified;
        dbms.SaveChanges();
    }
}

در این پیاده سازی:

  • ابتدا بررسی می شود که آیا یک آیتم انتخاب شده است.
  • سطر و ستونی که در حال ویرایش است شناسایی می شود.
  • بر اساس نام ستونی که تغییر کرده است، مقدار جدید به سطر مربوطه نسبت داده می شود.
  • سپس وضعیت سطر به Modified تغییر می کند و تغییرات در دیتابیس ذخیره می شوند.

این روند به شما کمک می کند تا به سادگی عملیات درج و بروزرسانی اطلاعات را در دیتاگرید انجام دهید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 19:29 1400/09/15

این پروژه رو قبلا انجام دادم برای یه کاری اما دقیقا چیزی که شما میخواید نیست. ولی به موضوع شما نزدیکه. سورس و یک فیلم رو براتون قرار میدم شاید به دردتون بخوره. ضمنا با wpf هم هست.

دانلود فیلم راهنما

دانلود سورس پروژه

در این پروژه یک پنجره داریم که یک data grid داخلش هست. در این جدول نام و نام خانوادگی رو نمایش دادیم. روی هر سطری کلیک کنید پنجره دیگه ای باز میشه که میتونید اطلاعات رو ویرایش کنید. خودم فعلا فرصت ندارم دقیقا چیزی که شما میخواید رو انجام بدم ولی فکر میکنم با کمی تغییر بتونید انجامش بدید.

ثبت اطلاعات از طریق دیتاگرید در wpf

ویرایش شده در دوشنبه 15 آذر 1400 ساعت 19:30:13
به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
2 نظر
mojtabahakimian : سپاس گزارم از وقتی که گذاشتید من روش کار میکنم ولی اگر امکانش هست این موضوع رو هم روش کار کنید چون مشکل اصلی اینکه که چطور بگم فقط یک Cell خاص از یک ستون مشخص رو آپدیت کن اونهم با ساده ترین روش چون دیدم این کار رو با MVVM انجام دادن . باتشکر

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 11:50 1400/09/15
mojtabahakimian : چون من دیتا وارد شده + دیتا قبل از اصلاح + ستون و آیدی رو دارم فقط نمیدونم چطور بگم آپدیت کن ولی بقیه آیتم ها سرجاش باشه با همون روش Entity Framework

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 11:52 1400/09/15
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود