Chabok
شنبه 17 تیر 1385, 14:13 عصر
با عرض سلام خدمت برنامه نویسان عزیز مخصوصا VB.net ی ها .
شما هنگامی که داده هاتون رو ویرایش میکنید چطوری بر میگردین روی همون داده ؟
من که خودم محتویات رکورد را میفرستم به یک فرم دیگه و ویرایش رو انجام میدم.
حالا ویرایش تموم شده و میخواهیم برگردیم به فرم اصلی .
پس حالا مجبوریم فرم رو دوباره Refresh کنیم تا داده های ویرایش شده رو ببینیم .
پس دوباره Dataset رو خالی میکنیم و دوباره Fill میکنیم . (هنوز به مشکل اصلی نرسیدیم)
وقتی این کار انجام شد همه چی مثل اول میشه . ولی ما میخواهیم به رکوردی که ویرایش کردیم بریم .
حالا از کجا بفهمیم رکوردی رو که ویرایش کردیم کدومه ؟ (عجله نکنید)
من توی VS 2003 از طریق BindingContext این کار را روی DataSet انجام میدادم و به رکورد مورد نظر میرفتم .
ولی حالا توی 2005 میبینم که نمیشه این کارو انجام داد و BindingContext روی دیتا گرید عمل میکنه .
یعنی اگه مثلا رکورد ما توی دیتاست سطر پنجم باشه ولی بنابه دلایلی توی دیتا گرید سطر سوم رو به خودش اختصاص داده باشه
و ما توسط BindingContext به رکورد پنجم روی دیتاست بریم دیتا گرید هم میاد و روی رکورد پنجم می ایسته . درصورتی که
در دیتا گرید آن داده در ستون سوم قرار داره .
من خودم این طور برداشت کردم : توی 2003 ، دیتاست به دیتا گرید فرمان میداد .
یعنی اگه در دیتاست به رکورد آخر هم میرفتیم کاری نداشت در کجای دیتا گریده و روی اون میرفت .
یعنی حتی ممکن بود که رکورد مورد نظر آخرین رکورد باشه ولی توسط Sort کردن دیتا گرید بر اساس یه ویژگی به رکورد اول اومده باشه .
ولی اگه توسط BindingContext به رکورد آخر میرفتیم رکورد خودش رو نشون میداد . یعنی رکورد اول روی دیتا گرید .
حالا میخوام بدونم تکنیک دوستان در این مورد چیه و برای رفتین روی رکورد مورد نظر در دیتاست از چه ترفندی استفاده می کنند .
یکی از دوستان هم از حلقه For استفاده میکردند و وقتی به رکورد مورد نظر می رسیدند روی اون می ایستادند . ولی فکر نکنم برای تعداد رکوردهای زیاد مناسب باشه ؟
ممنونم کمک کنید .
شما هنگامی که داده هاتون رو ویرایش میکنید چطوری بر میگردین روی همون داده ؟
من که خودم محتویات رکورد را میفرستم به یک فرم دیگه و ویرایش رو انجام میدم.
حالا ویرایش تموم شده و میخواهیم برگردیم به فرم اصلی .
پس حالا مجبوریم فرم رو دوباره Refresh کنیم تا داده های ویرایش شده رو ببینیم .
پس دوباره Dataset رو خالی میکنیم و دوباره Fill میکنیم . (هنوز به مشکل اصلی نرسیدیم)
وقتی این کار انجام شد همه چی مثل اول میشه . ولی ما میخواهیم به رکوردی که ویرایش کردیم بریم .
حالا از کجا بفهمیم رکوردی رو که ویرایش کردیم کدومه ؟ (عجله نکنید)
من توی VS 2003 از طریق BindingContext این کار را روی DataSet انجام میدادم و به رکورد مورد نظر میرفتم .
ولی حالا توی 2005 میبینم که نمیشه این کارو انجام داد و BindingContext روی دیتا گرید عمل میکنه .
یعنی اگه مثلا رکورد ما توی دیتاست سطر پنجم باشه ولی بنابه دلایلی توی دیتا گرید سطر سوم رو به خودش اختصاص داده باشه
و ما توسط BindingContext به رکورد پنجم روی دیتاست بریم دیتا گرید هم میاد و روی رکورد پنجم می ایسته . درصورتی که
در دیتا گرید آن داده در ستون سوم قرار داره .
من خودم این طور برداشت کردم : توی 2003 ، دیتاست به دیتا گرید فرمان میداد .
یعنی اگه در دیتاست به رکورد آخر هم میرفتیم کاری نداشت در کجای دیتا گریده و روی اون میرفت .
یعنی حتی ممکن بود که رکورد مورد نظر آخرین رکورد باشه ولی توسط Sort کردن دیتا گرید بر اساس یه ویژگی به رکورد اول اومده باشه .
ولی اگه توسط BindingContext به رکورد آخر میرفتیم رکورد خودش رو نشون میداد . یعنی رکورد اول روی دیتا گرید .
حالا میخوام بدونم تکنیک دوستان در این مورد چیه و برای رفتین روی رکورد مورد نظر در دیتاست از چه ترفندی استفاده می کنند .
یکی از دوستان هم از حلقه For استفاده میکردند و وقتی به رکورد مورد نظر می رسیدند روی اون می ایستادند . ولی فکر نکنم برای تعداد رکوردهای زیاد مناسب باشه ؟
ممنونم کمک کنید .