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

نام تاپیک: مشکل برگشتن روی رکورد در دیتا گرید 2005 بعد از ویرایش

  1. #1

    Question مشکل برگشتن روی رکورد در دیتا گرید 2005 بعد از ویرایش

    با عرض سلام خدمت برنامه نویسان عزیز مخصوصا VB.net ی ها .

    شما هنگامی که داده هاتون رو ویرایش میکنید چطوری بر میگردین روی همون داده ؟

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

    یکی از دوستان هم از حلقه For استفاده میکردند و وقتی به رکورد مورد نظر می رسیدند روی اون می ایستادند . ولی فکر نکنم برای تعداد رکوردهای زیاد مناسب باشه ؟
    ممنونم کمک کنید .

  2. #2
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111
    والا شرمنده دوست عزیز من که از این همه توضیح شما چیزی نفهمیدم کار با بانک اطلاعاتی کمی داخل 2005 تغییر کرده و کار کمی راحتر شده شما دقیقا درکجای برنامتون این مشکل را دارید و انتظار چه قابلیتی را دارید شاید مسئله شما بدون BindingContext و غیره خیلی راحتتر حل بشه کمی درمورد اهداف برنامتون توضیح بدید شاید دوستان راه حل بهتری براتون داشته باشن البته این یک پیشنهاده دوست عزیز

  3. #3
    ببینید من میخوام بعد از ویرایش به روی رکوردی برم که ویرایش شده .
    متاسفانه در 2005 استفاده از bindingContext درست نیست . یعنی جواب نمیده .
    من دنبال چیز خیلی ساده ای هستم و اینکه چجوری به رکوردی که یکی از فیلدهاشو میدونم برم .
    همین .

    ممنونم

  4. #4
    کاربر تازه وارد آواتار lomir
    تاریخ عضویت
    فروردین 1383
    پست
    60
    من یادمه قبلا در این مورد بحث شده ولی انگار پاک شده
    من خودم همچین مشکلی داشتم با این کد حلش کردم
    Public dposition As BindingManagerBase
    بعد یک پروسجر Search درست کردم مقدار اون ای دی رکورد ویرایش شده رو می گرفت بعد در دیتا ست رفرش شده دنبالش میگشت همین
    اگه دوستان راه دیگری بلدن مطرح کنن

  5. #5
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile

    دوست عزیز به این برنامه یک نگاهی بیانداز این برنامه همیشه اخرین رکورد ویرایش شده را به شما نمایش

    میدهد ببین همون چیزی است که میخواستید این برنامه دو دکمه دارد دکمه اولی اگر بزنی یکی از رکوردها

    تغییر میکند دکمه دیگر اخرین رکوردی که ویرایش شده را پیدا میکند برای استفاده از این مثال شما به دیتا گرید

    سطر جدیدی اضافه کن یا سطری را تغییر بده حالا با کلیک روی header دیتا گرید رکوردها را مرتب کن حالا با

    زدن دکمه برنامه باید برود روی اخرین رکورد ویرایش شده دگمه اولی گذاشتم برای اینکه بگم از راه کد هم

    تغییر بدی مشکلی پیش نمیاید اگر این نظرت نبوده برام بیشتر توضیح بده

    کدfind last change.zip

  6. #6
    ممنونم . چیز جالبی بود .
    فقط میخوام بدونم این متد Find هم از حلقه For استفاده میکنه یا نه ؟
    چجوری دنبالش میگرده ؟

    ممنونم

  7. #7
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111
    من نمی دونم این متد چگونه کار میکند اما خوشحالم همچین متدی است که کار مارا راحت کنه خیلی دوست دارید بفهمید میتونید decompiler برنامه reflector را دانلود کنید و با decompile فایل system.windows.dll بفهمید متد چگونه کار میکند

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

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