PDA

View Full Version : سوال: مشکل با دستور DataTable.GetChanges



pooya1072
چهارشنبه 08 خرداد 1392, 18:30 عصر
سلام
توی فرم برنامه یک دیتاگریدویو قرار دادم و بوسیله یک دیتاتیبل اطلاعات یک دیتابیس اسکیوال رو توی تون نشون میدم . حالا هر تغییری که توی مقادیر دیتاگریدویو بدم اصولا توی دیتاتیبل ثبت میشه . و اما مشکل:
اگه هر تغییری در دیتاگریدویو داده بشه میشه اون تغییرات رو بوسیله دستور DataTable.GetChanges گرفت . همونطور که میدونید برگشتیه این دستور یک دیتاتیبله که حاویه تغییراته . این دستور رو توی دو رویداد قرار دادم .یکی توی رویداد کلیک کردن یک باتون روی فرم و دیگری توی رویداد Form.FormClosing
توی رویداد کلیک مقدار nothing رو بر میگردونه ولی توی رویداد بسته شدن فرم مقادیر تغییر داده شده به درستی بر میگرده .
دستورات رو میزارم .چک کنید :
ممنون

Button2_Click(System.Object sender, System.EventArgs e)
{
DataTable Changes = dt.GetChanges;
}


Form1_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
DataTable Changes = dt.GetChanges;
}

tooraj_azizi_1035
چهارشنبه 08 خرداد 1392, 22:32 عصر
باید قبل از گرفتن تغییرات متد EndEdit شیء BindingSource رو صدا بزنید:

myTableBindingSource.EndEdit();
DataTable Changes=myTable.GetChanges();

pooya1072
پنج شنبه 09 خرداد 1392, 04:04 صبح
باید قبل از گرفتن تغییرات متد EndEdit شیء BindingSource رو صدا بزنید:

myTableBindingSource.EndEdit();
DataTable Changes=myTable.GetChanges();

سلام
EndEdit رو فقط توی آیتم های دیتاگریدویو پیدا کردم . دستور رو اجرا کردم ولی فرقی نکرد. دیتاتیبل هم که دستور EndEdit رو نداره.

tooraj_azizi_1035
پنج شنبه 09 خرداد 1392, 11:00 صبح
myTable.AcceptChanges();
DataTable Changes=myTable.GetChanges();