من از سی شارپ WPF استفاده میکنم و یک تک جدول خیلی ساده دارم که فقط نام و تلفن در اون ذخیره میشه با روش Entity Framework DB First
در SQL Server 2014
من کاری که میخوام انجام بدم اینکه که عملیات درج , بروزرسانی (تغییر) و حذف رو مستقیما در خود دیتاگرید انجام بدم بدون TextBox یا دکمه ای مثل Excel به این شکل :
میخوام این رو به بهترین و سریع ترین راه انجامش بدم
پس باید موقعی که کاربری توی هر سلولی از یک سطر در دیتا گرید ویو اطلاعاتی وارد کرد و بعد از روی اون سطرجابه جا شد (Tab or Enter) اطلاعات رو باتوجه به سطر مربوطه و آیدی اون سطر , در جدول ذخیره کنه
من اومدم این کار رو توی رویداد CellEditEnding انجام بدم منتها خودم یکم سردرگم هستم که دقیقا کدش چی میشه ؟
private void DGR_Formy_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if (DGR_Formy.SelectedItem != null && DGR_Formy.SelectedItems != null)
{
//این خط فقط سطر اِدیت شده رو نشون میده
var DtValue = DGR_Formy.ItemContainerGenerator.ItemFromContainer(e.Row);
var WhatValue = string.Empty;
FrameworkElement element_1 = DGR_Formy.CurrentColumn.GetCellContent(e.Row);
if (element_1.GetType() == typeof(TextBox))
{
WhatValue = ((TextBox)element_1).Text;
}
Telbook LocationTel = (Telbook)DGR_Formy.SelectedItem;
Telbook telbook = new Telbook()
{
ID = LocationTel.ID,
Name = WhatValue,
Tel = LocationTel.Tel
};
dbms.SaveChanges();
}
}
این کد های بالا درست نیست فقط جهت یک راهنمایی گذاشتم چون دقیقا نمیدونم چطور باید پیاده سازی کنم.
مشکل در کد بالا اینه که نمیدونم چطور بگم بررسی کن هر آیتمی که تغییر کرده همون رو آپدیت کن (سطری که تغییر پیدا کرده بروزرسانی و یا سطر جدید درج شده ذخیره بشه)
لطفا راهنمایی بفرمایید
لینک مرتبط با موضوع : https://social.technet.microsoft.com/wiki/contents/articles/53914.wpfentity-framework-core-primer-c.aspx
این پروژه رو قبلا انجام دادم برای یه کاری اما دقیقا چیزی که شما میخواید نیست. ولی به موضوع شما نزدیکه. سورس و یک فیلم رو براتون قرار میدم شاید به دردتون بخوره. ضمنا با wpf هم هست.
در این پروژه یک پنجره داریم که یک data grid داخلش هست. در این جدول نام و نام خانوادگی رو نمایش دادیم. روی هر سطری کلیک کنید پنجره دیگه ای باز میشه که میتونید اطلاعات رو ویرایش کنید. خودم فعلا فرصت ندارم دقیقا چیزی که شما میخواید رو انجام بدم ولی فکر میکنم با کمی تغییر بتونید انجامش بدید.
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
3990
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4001
- پاسخ :
1
|
تاریخ :
1398/09/07
- ساعت :
02:15:00 PM
- بازدید :
3621
- پاسخ :
5
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
223
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
2935
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
2999
- پاسخ :
1
|
تاریخ :
1403/04/12
- ساعت :
07:27:00 PM
- بازدید :
310
- پاسخ :
0
|
تاریخ :
1400/08/02
- ساعت :
02:35:00 PM
- بازدید :
2459
- پاسخ :
1
|
تاریخ :
1403/01/29
- ساعت :
08:08:00 AM
- بازدید :
557
- پاسخ :
4
|
تاریخ :
1402/09/06
- ساعت :
03:03:00 PM
- بازدید :
753
- پاسخ :
2
|
تاریخ :
1403/06/17
- ساعت :
04:22:00 PM
- بازدید :
18
- پاسخ :
0
|
تاریخ :
1403/06/14
- ساعت :
06:44:00 PM
- بازدید :
58
- پاسخ :
0
|
تاریخ :
1398/11/07
- ساعت :
02:26:00 PM
- بازدید :
3534
- پاسخ :
5
|
تاریخ :
1403/06/05
- ساعت :
05:47:00 PM
- بازدید :
128
- پاسخ :
2
|
تاریخ :
1403/06/06
- ساعت :
11:53:00 AM
- بازدید :
89
- پاسخ :
0
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
115
- پاسخ :
1
|
تاریخ :
1403/05/31
- ساعت :
09:04:00 PM
- بازدید :
73
- پاسخ :
0
|
تاریخ :
1403/05/30
- ساعت :
01:35:00 PM
- بازدید :
85
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
3990
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4001
- پاسخ :
1
|