PDA

View Full Version : اعمال یک تابع روی اطلاعات یک ستون از datagrid



bdf2121
چهارشنبه 04 تیر 1393, 23:41 عصر
سلام خسته نباشید
یه datagrid دارم که ارتباطش با کنترل ado
یدونه از فیلدهام تاریخ میلادیه که میخوام در datagrid با استفاده از یه تابع به شمسی تغییرش بدم
ممنون میشم راهنمایی کنید؟

vbhamed
پنج شنبه 05 تیر 1393, 05:40 صبح
سلام

به اين شكلي كه شما مي‌خواين به راحتي نميشه

البته مي‌تونيد از كامپوننت ComponentOne vsFlexGrid استفاده كنيد و ارتباطي از نوع قرار بديد و پردازش رو روي هر سطر اون جداگانه انجام بدين و تاريخ رو تبديل كنيد ولي بهترين راه ثبت تاريخ شمسي در خود ديتابيس هست

يا اگر بانك Sql Server شما باشه مي‌تونيد از Store Procedure استفاده كنيد

bdf2121
پنج شنبه 05 تیر 1393, 15:21 عصر
سلام

به اين شكلي كه شما مي‌خواين به راحتي نميشه

البته مي‌تونيد از كامپوننت ComponentOne vsFlexGrid استفاده كنيد و ارتباطي از نوع قرار بديد و پردازش رو روي هر سطر اون جداگانه انجام بدين و تاريخ رو تبديل كنيد ولي بهترين راه ثبت تاريخ شمسي در خود ديتابيس هست

يا اگر بانك Sql Server شما باشه مي‌تونيد از Store Procedure استفاده كنيد
ممنون دوست عزیز از جوابت
من برنامم دیگه آخراش دیگه نمیتونم تغییری رو دیتا بیس انجام بدم یه توضیح کوتاه راجب flexgrid میدی؟که چطور میتونم اینکارو انجام بدم؟

m.4.r.m
پنج شنبه 05 تیر 1393, 17:12 عصر
وقتی وارد صفحه مربوطه میشی تو رویداد فرم لود برنامه این کد رو اضافه کن

Dim Shamsi As New ShamsiDLL.ClassShamsi
For i = 1 To Adodc1.Recordset.RecordCount
Shamsi.Miladi2Shamsi Adodc1.Recordset.Fields("Date")
Adodc1.Recordset.MoveNext
Next i




دانلود فایل shmasi (http://omid5531.persiangig.com/sours/vb/shamsidll.rar/download)

vbhamed
جمعه 06 تیر 1393, 16:08 عصر
ممنون دوست عزیز از جوابت
من برنامم دیگه آخراش دیگه نمیتونم تغییری رو دیتا بیس انجام بدم یه توضیح کوتاه راجب flexgrid میدی؟که چطور میتونم اینکارو انجام بدم؟

سلام
فكس، گرايدي است كه مي‌تونيد خيلي راحت به سلولهاي اون دسترسي داشته باشيد و تغييرش بديد بنابراين وقتي اطلاعات درون اون لود شد مي‌تونيد محتويات ستوني كه توش تاريخ نشون داده ميشه رو بخونيد و با توابع تبديل تاريخ يا كتابخانه هاي اينكار كه تو سايت هم زياده تبديل به شمسي كنيد و سپس در همون سلول گرايد جايگزين كنيد
اسم كامپوننت CompontnOne vsFlexGrid هست و نحوه دسترسي و تغيير يك سلول اطلاعات به شكل زير :
vsFlexGrid1.TextMatrix(0,0) = "Test"

bdf2121
جمعه 13 تیر 1393, 22:28 عصر
سلام
فكس، گرايدي است كه مي‌تونيد خيلي راحت به سلولهاي اون دسترسي داشته باشيد و تغييرش بديد بنابراين وقتي اطلاعات درون اون لود شد مي‌تونيد محتويات ستوني كه توش تاريخ نشون داده ميشه رو بخونيد و با توابع تبديل تاريخ يا كتابخانه هاي اينكار كه تو سايت هم زياده تبديل به شمسي كنيد و سپس در همون سلول گرايد جايگزين كنيد
اسم كامپوننت CompontnOne vsFlexGrid هست و نحوه دسترسي و تغيير يك سلول اطلاعات به شكل زير :
vsFlexGrid1.TextMatrix(0,0) = "Test"
ممنون دوست غزیز
چطور میتونم کنترل ado رو بهش نسبت بدم؟

bdf2121
جمعه 13 تیر 1393, 22:33 عصر
وقتی وارد صفحه مربوطه میشی تو رویداد فرم لود برنامه این کد رو اضافه کن

Dim Shamsi As New ShamsiDLL.ClassShamsi
For i = 1 To Adodc1.Recordset.RecordCount
Shamsi.Miladi2Shamsi Adodc1.Recordset.Fields("Date")
Adodc1.Recordset.MoveNext
Next i




دانلود فایل shmasi (http://omid5531.persiangig.com/sours/vb/shamsidll.rar/download)
ممنون دوست عزیز ولی به نظر این کد اجراش نشدنیه !!
چون بعد تبدیل خروجی جایی ثبت نمیشه!!
اگرم کد رو تو لود فرم بنویسم که نمیشه چون هنوز کنترل ado فعال و مقدار دهی نشده؟
اگرم کد رو اصلاح کنم و قابلیت تبدیل پیدا کنه مشکل من ایجاس که مقادیر داخل بانک هم عوض میشه
البته من مشکل رو حل کردم یه جدول temp زدم رکورد به رکورد تبدیل ها رو انجام میده ولی خوب وقتی حجم اطلاعات بالا باشه هزینه بر هستش دنبال راه حل دیگه ای میگردم ؟

vbhamed
شنبه 14 تیر 1393, 11:51 صبح
ممنون دوست غزیز
چطور میتونم کنترل ado رو بهش نسبت بدم؟

سلام
vsFlexGrid سه نسخه داره
يك نسخه آزاد كه به بانك اطلاعاتي وصل نميشه، يك نسخه به DAO وصل ميشه و يك نسخه هم به ADO
اسمش تو ليست كامپوننتها ComponentOne vsFlexGrid 8.0 (OLEDB) هست
البته دقت كنيد كه بايد كامپوننت ComponentOne Studio for Activex رو نصب كنيد

bdf2121
یک شنبه 15 تیر 1393, 01:45 صبح
سلام
vsFlexGrid سه نسخه داره
يك نسخه آزاد كه به بانك اطلاعاتي وصل نميشه، يك نسخه به DAO وصل ميشه و يك نسخه هم به ADO
اسمش تو ليست كامپوننتها ComponentOne vsFlexGrid 8.0 (OLEDB) هست
البته دقت كنيد كه بايد كامپوننت ComponentOne Studio for Activex رو نصب كنيد
ممنون دوست عزیز