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

نام تاپیک: رديف در گريد ويو

  1. #1

    رديف در گريد ويو

    سلام دوستان
    من يه تازه كارم با صد هزار تا سوال
    من يه جدول user توي اس كيو ال ايجاد كردم با دو فيلد : نوع كاربري و رمز و رديف
    كه رديف نامريك هست و identity=yes .خوب حالا وقتي ركوردي حذف مي شه شماره هارديف به هم مي خورن. من مي خوام توي گريد ويو رديف رو داشته باشم كه مدير بتونه رديف رو وارد كرده و ويرايشش كنه.

  2. #2
    کاربر دائمی آواتار ebrahimv
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    وايقان
    سن
    36
    پست
    391

    نقل قول: رديف در گريد ويو

    سلام
    شايد ايني كه مخواهم بگم جواب شما نباشه ولي اين روش شما درست نيست يا مناسب نيست بهتره يه روش ديگه پيدا كني

  3. #3
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: رديف در گريد ويو

    فکر میکنم الان شما دارین از شماره ردیف به عنوان شرط دستورات اسکیوالتون استفاده میکنید و برای همین الان به مشکل برخوردید.درسته؟
    آیا شما قصد دارین که تو گریدتون حتما ردیف دیده بشه؟

  4. #4
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    39
    پست
    67

    نقل قول: رديف در گريد ويو

    سلام.مطمئن نیستم اما اگه یه Trigger توی SQL بنویسید فکر کنم بهترین راه باشه.خوب بعدشم که دیتا گرید Refresh میشه دیگه.که مثلا اینجوری باشه که بعد از حذف،از شماره بعدی تا آخرین رکورد یک شماره کم کن.
    اما خیلی غیرمنطقیه.100% یه راه ساده داره.
    آخرین ویرایش به وسیله gigidagostino : جمعه 11 دی 1388 در 22:05 عصر

  5. #5
    کاربر دائمی آواتار DoDoklak
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شهر 3500 ساله
    پست
    320

    نقل قول: رديف در گريد ويو

    شما به هیچ وجه نباید مقادیر فیلدهای اصلی رو تغییر بدید جهت نمایش ردیف در DataGridView میتونید از Bound خود دیتا گرید استفاده کنید
    شما میتونید از رویداد RowPostPaint استفاده کنید

    Private
    Sub DGV_RowPostPaint(ByVal sender AsObject, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEvent Args) Handles DGV.RowPostPaint
    Using b As SolidBrush = New SolidBrush(DGV.RowHeadersDefaultCellStyle.ForeColo r)
    e.Graphics.DrawString("", DGV.DefaultCellStyle.Font, b, DGV.Size.Width - 40, 6)
    e.Graphics.DrawString(e.RowIndex + 1, DGV.DefaultCellStyle.Font, b, e.RowBounds.Location.X + DGV.Size.Width - 40, e.RowBounds.Location.Y)
    EndUsing
    EndSub



  6. #6
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    39
    پست
    67

    نقل قول: رديف در گريد ويو

    سلام
    حالا اگر بخایم یه فیلد رو با این روش دوباره مرتب کنیم چی؟اگر فیلد اصلی هم نباشه.

  7. #7
    کاربر دائمی آواتار DoDoklak
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شهر 3500 ساله
    پست
    320

    نقل قول: رديف در گريد ويو

    تو این روش اصلا احتیاجی به کلید اصلی نداری.
    اگه به سورس توجه کرده باشی شماره هر ردیف از Index خود دیتاگرید به دست میاد یعنی از 1 میشماره تا آخر حالا میخواد کلید اصلی هرچی باشی.
    اگر هم دیتا گرید بر اساس فیلد دیگه ای مرتب بشه هیچ فرقی نمیکنه بازم ردیف همونه چون همونطور که گفتم معیار شمارش سطر از اول تا آخره دیگه جابجایی فیللدها هیچ تاثیری نداره

  8. #8

    نقل قول: رديف در گريد ويو

    دوستان من رديف رو كليد نگرفتما. رمز عبور رو كليد گرفتم و عملياتم (آپديت و ديليت و ..) رو مي خواستم اگه بشه به دلخواه كاربر با رديف يا رمز انجام بدم

  9. #9
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    39
    پست
    67

    نقل قول: رديف در گريد ويو

    نقل قول نوشته شده توسط DoDoklak مشاهده تاپیک
    تو این روش اصلا احتیاجی به کلید اصلی نداری.
    اگه به سورس توجه کرده باشی شماره هر ردیف از Index خود دیتاگرید به دست میاد یعنی از 1 میشماره تا آخر حالا میخواد کلید اصلی هرچی باشی.
    اگر هم دیتا گرید بر اساس فیلد دیگه ای مرتب بشه هیچ فرقی نمیکنه بازم ردیف همونه چون همونطور که گفتم معیار شمارش سطر از اول تا آخره دیگه جابجایی فیللدها هیچ تاثیری نداره
    سلام
    شما درست میفرمایید.اما من دنبال فیلدی هستم که همیشه مرتب باشه. با هر Delete که انجام میشه Refresh بشه و شماره هارو دوباره مرتب کنه.چیزی شبیه به Aoutosort که خودش مقادیر رو هم تصحیح کنه.با این فرض که مقادیر فیلدی از جدول ما باشند،نه در Interface برنامه

  10. #10

    نقل قول: رديف در گريد ويو

    با تشكر خيلي خيلي صميمانه از كمكتون
    در واقع الان با كمك راهنمايي DoDoklak عزيز كاملا مشكلم حل شد . فقط مي مونه چند سوال :

    -1- آيا با اين رديف ها مي شه به ركورد دسترسي پيدا كرد و مثلا رمز رديف اول رو ويرايش كرد ؟
    -2- مي شه در مورد استفاده از Bound كه گفتيد كمي توضيح بديد ؟
    -3- به نظر شما رمز رو از كليد بودن در بيارم بهتره ؟
    -4- توي تصويري كه شما گذاشتيد ف ها دقيقا زير فيلد مربوطه قرار گرفتند.براي اين كار خاصي لازمه؟ امكان داره در صورت scroll دار شدن dgview در جاي نا مناسبي قرار بگيره ؟

  11. #11
    کاربر دائمی آواتار DoDoklak
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شهر 3500 ساله
    پست
    320

    نقل قول: رديف در گريد ويو

    -1- آيا با اين رديف ها مي شه به ركورد دسترسي پيدا كرد و مثلا رمز رديف اول رو ويرايش كرد ؟
    e.RowIndex + 1


    مي شه در مورد استفاده از Bound كه گفتيد كمي توضيح بديد ؟
    همون ناحیه قرمز که خط کشیدم اسمش Bound است که میتونید ازش استفاده کنی

    -3- به نظر شما رمز رو از كليد بودن در بيارم بهتره ؟
    بله .همیشه سعی کنید کلید بصورت AutoNumber باشه ارزش اینکار رو تو برنامه های تحت شبکه بیشتر درک میکنید

    4- توي تصويري كه شما گذاشتيد ف ها دقيقا زير فيلد مربوطه قرار گرفتند.براي اين كار خاصي لازمه؟ امكان داره در صورت scroll دار شدن dgview در جاي نا مناسبي قرار بگيره ؟
    نگران اسکرول نباشید شما هر چقدر هم فرم رو تغییر اندازه بدید بازم شمارها سطر جای خودشون قرار میگیرند.
    اگر توجه کرده باشید برای قرار گیری شمارهها از دستور زیر استفاده شده
    DGV.Size.Width - 40

    عبارت DGV.Size.Width متغییره و با تغییر اندازه دیتا گیرد اون هم عوض میشه و شمارها سر جای خودشون قرار میگیرن

    البته یک نکته رو هم بگم نمونه کد بالا برای وقتیه که دیتا گرید در حالت RightToLeft=true باشه اگر RightToLeft=False باشه از این دستور استفاده کن
    DGV.Size.Width+10

  12. #12

    نقل قول: رديف در گريد ويو

    خيلي ممنون

  13. #13

    نقل قول: ردیف در گرید ویو

    DoDoklak عزیز شرمنده باز سوالی برام پیش آمده می شه یه نگاه به این تصاویر بندازید و بگید کدوم یکی درسته با توجه به راه حلی که نشونم دادید ؟هر کاری می کنم نمیشه عکس بذارم :-( چرا ؟؟میشه براتون میل کنم ؟ به کدوم آدرس ؟

  14. #14

    Exclamation نقل قول: ردیف در گرید ویو

    من با e.rowindex+1 نتونستم مثلا عمل حذف از پایگاه داده رو انجام بدم.
    لطفا بیشتر راهنماییم کنید.


    ضمنا این همون تصاویری هست که گفتم.لطفا ببینید کدوم یکی درسته؟
    این پایگاه داده ی یک کافینت مانندی هست.اینجا اگه ردیف کلید نباشه پس رابطه ها چطوری برقرار شه؟
    http://www.4shared.com/file/204756906/1860d22b/db2.html

    http://www.4shared.com/file/204756509/81c536de/db_online.html

  15. #15
    کاربر دائمی آواتار DoDoklak
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شهر 3500 ساله
    پست
    320

    نقل قول: رديف در گريد ويو

    ؟هر کاری می کنم نمیشه عکس بذارم
    برای نمایش تصویر تو فریوم باید عکسهاتون رو تو یک سایت که لینک مستقیم میده بزارید مثلا
    www.ImageHost.Org
    بعد از اینکه عکس رو بهش دادی یک لینک بهت میده که اگر اینجا بزاری مستقیما عکس نمایش داده میشه

    من با e.rowindex+1 نتونستم مثلا عمل حذف از پایگاه داده رو انجام بدم.
    لطفا بیشتر راهنماییم کنید.
    با توجه به جداولی که گذاشتید شما اصلا احتیاج به فیلد ردیف ندارید همون کد مشتری کلید اصلی شما است و از طریق اون ارتباط بین جدولها برقراره.

    حالا مشکل شما اینه که اون کد مشتری رو چطور بدست بیارید!
    فرض کنید دیتا گیرید شما باید فیلد نام رو نمایش بده .در این صورت شما همراه فیلد نام فیلد کد مشتری رو هم میارید ولی کد مشتری رو مخفی میکنید تا کاربر اونو نبینه و وقتی کاربر ردیفی رو انتخاب میکنه شما از طریق e.rowindex+1 به ردیف مورد نظر دسترسی دارید و میتونید مقدار کد مشتری رو کهVisible رو False کردید بدست بیارید و عملیات لازم رو انجام بدید

  16. #16

    نقل قول: ردیف در گرید ویو

    میشه یه مثال بذارید؟البته اگر زحمتی نباشه .شرمنده

  17. #17
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    36
    پست
    608

    Thumbs up نقل قول: ردیف در گرید ویو

    سلام.

    نمونه: Sample.zip

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

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