آژانس هواپیمایی
pop up

دیتاگرید؟؟؟؟؟؟؟؟؟

شروع موضوع توسط nokhodi ‏25 دسامبر 2007 در انجمن Visual Basic 6

  1. nokhodi

    nokhodi Registered User

    تاریخ عضویت:
    ‏27 ژانویه 2005
    نوشته ها:
    88
    تشکر شده:
    0
    محل سکونت:
    یه جای نزدیک
    سلام...
    آیا میدانید...



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

    مثلا...

    یه تاریخ ثبت داریم...
    یه تاریخ انقضا...

    اون دادههایی که دارن به تاریخ انقضا نزدیک میشن بارنگ زرد و اونهایی که انقضا شدند با رنگ قرمز از بقیه دادها متمایز داده بشن...




    فعلا...
     
  2. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    دیتاگرید رو نمیتونی رنگی کنی. باید از FlexGrid استفاده کنی. یه مثال اتچ کردم برات:
     

    فایل های ضمیمه:

    • editflex.zip
      اندازه فایل:
      1.5 KB
      نمایش ها:
      13
  3. nokhodi

    nokhodi Registered User

    تاریخ عضویت:
    ‏27 ژانویه 2005
    نوشته ها:
    88
    تشکر شده:
    0
    محل سکونت:
    یه جای نزدیک

    بابت فایل ممنون...
    این یه بخش از سوالم بود....
    بخش اولش اون شرط بود که من کلا اونو مشکل دارم....
    یه همچین چیزی منظورمه:
    وقتی تاریخ ثبت وارد شد تاریخ انقضا خودکار و بر اساس تاریخ ثبت وارد شده 2 سال اعتبار بخوره و بعد از دوسال اعلام انقضا شدن تاریخ و دیگری اینکه دادهای توی همین جدول رو با چه شرطی کاری کنم که مشخص بشه که دارن به تاریخ نزدیک میشن یا انقضا شدن....




    سپاس فراوان...



    فعلا...
     
  4. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    با توابع تاریخ مثل DateAdd میتونی به تاریخ دو سال اضافه کنی و بریزی توی فیلد مربوطه. بعد موقع نشون دادن اطلاعات توی FlexGrid (اطلاعات رو باید بصورت دستی توی یه حلقه اضافه کنی نه bind کنی) چک میکنی که تاریخ منقضی شده یا نه. اگر شده بود موقع اضافه کردن رنگ گرید رو عوض کن.
    نمونه سورس:
    کد:
     
    Private Sub Form_Load()
    Dim dt As Date
    Dim dt2 As Date
     
    dt=Now
     
    dt2 = DateAdd("yyyy", 2, dt)
    If dt >= Now Then
    MsgBox "expire"
    End If
    End Sub
     
    
     
  5. nokhodi

    nokhodi Registered User

    تاریخ عضویت:
    ‏27 ژانویه 2005
    نوشته ها:
    88
    تشکر شده:
    0
    محل سکونت:
    یه جای نزدیک

    بازم تشکر...

    خوب من اینو اینطوری تغییر دادم... ولی باگ داره....:wacko:

    دریافت فایل


    میسی...



    فعلا...
     
  6. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    یه چیزی توی این مایه ها میشه:
    کد:
    Private Sub Text1_Change()
    Dim dt2 As Date
    If IsDate(Text1.Text) Then
        dt2 = DateAdd("yyyy", 2, Text1.Text)
        Text2.Text = dt2
    End If
    End Sub
    Private Sub Command1_Click()
    Dim dt As Date
    dt = CDate(Text2.Text)
    If DateDiff("d", dt, Now) > 0 Then
    MsgBox "expire"
    End If
    End Sub
    
     
  7. boxilink
  8. nokhodi

    nokhodi Registered User

    تاریخ عضویت:
    ‏27 ژانویه 2005
    نوشته ها:
    88
    تشکر شده:
    0
    محل سکونت:
    یه جای نزدیک

    ممنون درست بود...


    حالا برام یه سوال پیش اومده..
    اینکه ما باید چطوری باید بفهیم که این دو تاریخ به هم نزدیک شدن....
    یعنی باید تاریخ اول رو رو که به عنوان ثبت است رو هروز با تاریخ سیستم چک کنیم؟ تا بفهمه که آیا به اون تاریخ رسیده یانه؟ بعد همون رو توی توی اون جدول بزارم(منظورمم شرطش هست) تا رنگ اون خونه های تغییر کنه...
     
  9. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    آره. باید موقع add کردن رکوردها به FlexGrid. یکی یکی تاریخ ها رو با تاریخ سیستم (Now) چک کنی و اگر نتیجه مثبت بود رنگ اون سلول رو عوض کنی.