# Native Code > برنامه نویسی در 6 VB > کامپوننت ها و ابزارهای کاربردی در VB6 >  در رابطه با : Vs Flex Grid

## Dr.Bronx

با سلام خدمت دوستان
قصد دارم که اگر خداوند توفیق داد و دوستان همکاری کردند ابزار هایی همچون این ابزار که کاربرد خیلی زیادی برای برنامه نویسان داره رو یک بررسی کلی روش انجام بدیم تا دیگه نقطه ابهامی نداشته باشیم .
خوب اول که از دوستان عزیز که با این کنترل کار کردند از جمله دوستانی همچون ( خانم فاطمه وطن دوست و MpmSoft عزیز و جناب Vbhamed ) که ظاهرا با این ابزار آشنایی لازم رو دارند تقاضا می کنم در این تاپیک همکاری داشته باشند . انشاالله که به نتیجه مطلوب برسه

--------------------------------------------------------------------------------
ابتدا این رو بگم که اصلا مهم نیست که آیا کسی سوالی کرده در رابطه با فلان مورد یا نه
مثلا من می بینم که فلان کارو بلدم با این ابزار انجام بدم . خوب میام اینجا موضوع و راه حل رو مطرح می کنم . شاید یک کسی . یک  روزی . یک جایی به کارش اومد.
سوال ها و جواب هایی که توی این تاپیک هایی که توی این مدت راجع به این ابزار اومده رو در پست بعدی بررسی می کنیم.

Component One VsFlexGrid

----------


## Dr.Bronx

سوال : چطور میشه در vsflexgrid فیلد هایی که انگلیسی هستن رو کپشن آن ها رو تغییر داد و فارسی شون کرد.مثل دیتا گرید که کپشین فیلد ها رو تغییر می دهد.

پاسخ : 
Vs.TextMatrix(0,1)= "کد"
Vs.TextMatrix(0,2)= "نام"


سوال : چگونه میتوان محتویات یک VsFlexGrid را به چاپ فرستاد ؟

پاسخ1 : برای انجام این کار کافیه از متد PrintGrid استفاده کنید.

پاسخ 2: روش دیگر اگر بخواهید این گرید رو به کریستال پاس بدید کافی هست که اطلاعات موجود در VS رو توسط دستور SaveGrid خود VS در قالب یک فایل XML ذخیره کنید و سپس توسط کریستال به اون فایل متصل بشید و اطلاعات رو نمایش بدید

سوال : چجوری می تونم بکگراند Grid عکس بگذارم .

پاسخ :  روی این کنترل یک خاصیت وجود دارد بنام WallPaper که میتوانید عکس را برای زمینه VSFlexGrid تنظیم کنید

سوال :  من میخوام وقتی توی تکست باکس آیدی رو نوشتم توی فلکس اون سطری که آیدیش با آیدی موردنظر ما برابر بود سلکت بشه. نمیخام فیلترش کنه فقط بره روی سطر مورد نظر.

پاسخ : 
For i = 0 To VSFlexGrid1.Rows
   If Text1.Text = VSFlexGrid1.TextMatrix(i, 0) Then
      VSFlexGrid1.SetFocus
      VSFlexGrid1.Select i, 0
      Exit For
   End If
Next i

ستون 0 همون ستون آیدی هست.

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

پاسخ : 


> یه نمونه بسیار ساده .


Download Attachment File

سوال : کسی از مهندسان محترم سعی کرده اطلاعات داخل گرید رو مستقیم به اکسل اکسپورت کنه؟

پاسخ : 


> فکر کنم مدیر بخش قبلا این سورس رو گذاشته بودند


Download Attachment File

سوال : من داخل یکی از برنامه هام از VSFlexGrid استفاده میکنم اما هر کار می کنم نمیتونم Align رو تغییر بدم و روی None میمونه چیکار کنم مه بره روی Right?

پاسخ : برای ترازبندی کافیه از این دستور استفاده کنید.

With VSFlex
    ColAlignment(0) = 3       وسط       
    ColAlignment(0) = 2       راست       
 ColAlignment(0) = 1       چپ


سوال : من 2 تا گرید دارم که هر دو به یک Adodc وصل هستند می خوام وقتی رکوردی روی گرید1 انتخاب می کنم روی گرید2 هم انتخاب بشه و بلعکس

پاسخ : 
VSFlexGrid2.Row = VSFlexGrid1.Row


سوال : برای رنگ بندی ستونهای خاص از کدام گزینه می توان استفاده نمود؟

پاسخ :   نمونه    Download Attachment File

سوال : چطوری از کمبو باکس در این ابزار استفاده کنم ؟ 

پاسخ : تو هر خونه ای می خوای کلیک کن بعدش یا از لیست انتخاب کن، یا بدون اینکه لیست رو باز کنی شروع کن به تایپ کردن
برای انتخاب از لیست با صفحه کلید، دکمه Spacebar رو بزن
برای ویرایش عنصری که تو لیست نیست هم Enter بزن

Download Attachment File

سوال : چطوری میشه مثلا یک Column رو نمایش ندیم ؟ یعنی من ردیفهام اینجوریه :
نام . نام خانوادگی . تلفن
حالا می خوام این تلفن نشون داده نشه

پاسخ : باید به این صورت استفاده کنید
vs.colhidden(0,3) = true
که اون عدد 3 برابر با شماره col شما هستش یعنی 3 که میشه تلفن



سوال و جواب ها : قسمت دوم

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


-------------------------------------------------------------------------------------------------------

سوال : چطور می توانم اطلاعات flexgrid را بدون اتصال به شئی ado مستقیماً ارسال به اکسل کنم. یعنی دستوری که رکوردهای خود flex را داخل اکسل نمایش دهد.

پاسخ :



> FG.SaveGrid "c:\book1.xls", flexFileExcel


سوال :چطوری میشه فاصله بین سطر های vsflex grid رو تعیین کرد

پاسخ :



> VSFlexGrid1.RowHeightMin = a
> VSFlexGrid1.RowHeightMax = b
> VSFlexGrid1.RowHeight(i) = h


سوال : می خوام در vsflex8 زمانی که sort صورت میگیره یه عکس برای مرتب از بالا به پایین و یه عکس هم برای مرتب از پایین به بالا به سرستونی که کاربر کلیک می کنه اختصاص بدم .

پاسخ : از رویدادهای AfterSort و BeforeSort کمک بگیرید.

یه راه بهتر هم اینه که ExplorerBar رو روی FlexExSort قرار بدیم در این صورت روی هر Header که کلیک بشه به همون ترتیب هم سورت میشه


خوب دیگه - تمام سوال و جواب های داخل انجمن وی بی رو در مورد Vsflexgrid در اینجا قرار دادم
باز  هم اگه موردی از قلم افتاده دوستان لطف کنند و قرار بدند
موفق و موید باشید.

----------


## ali-software

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

----------


## Dr.Bronx

منظورتون رو متوجه نمی شم ؟
یعنی می خواهید هر فیلتری که در vs انجام شد داخل datagrid هم اعمال بشه ؟
خوب اگر اینطور هست دیتاسورس که یک Rs تعریف کنید و دیتاسورس هر دو رو روی RS ست کنید
اگر منظورتون چیز دیگه ای هست لطفا بیشتر توضیح بدید

----------


## ali-software

نه.ببینید vs چطور مثل دیتا گرید فیلتر میشه.؟؟

----------


## Dr.Bronx

عذر می خوام دیر جواب دادم

ببنید این کد رو تا توضیح بدم در موردش

Dim Rs As New ADODB.Recordset
Rs.Open "SELECT * FROM Tbl_PersonInfo WHERE Person_Code=" & Txt_Search.Text, Conn, adOpenStatic, adLockOptimistic
Set VS.DataSource = Rs

فکر نمی کنم اصلا نیازی به توضیح باشه
Txt_Search که همون تکست باکسی هست که مثلا کد کاربر رو توش نوشتیم
Conn هم که همین مسیر ارتباط با دیتابیس هست که از قبل معلومه
بعد که داخل RS فیلتر کردیم
اونوقت دیتا سورس vs رو برابر با Rs قرار میدیم 
موفق و موید باشید

----------


## Dr.Bronx

دوستان دیگه هم همکاری کنند تاپیک بدون نتیجه کامل نمونه لطفا
سوال ها رو مطرح کنند
پاسخ هایی که خودتون بهش رسیدین اینجا قرار بدید
موفق باشید

----------


## ali-software

میشه یک نمونه یا مثال در همون مورد بگذارید؟؟؟؟؟؟؟؟

----------


## HjSoft

اول از همه بايد خاصيت Bound ( اگر اشتباه نكنم ) كه به طور معمول روي Free هست رو تنظيم كنيد تا ركورد از بانك انتخاب بشه تا فيلتر ها درست انجام بشه  ! 
موفق باشيد

----------


## Dr.Bronx

دوستان چطوری می تونیم فرمت یک Column رو تغییر بدیم ؟
من توی اون ردیف ساعت رو دارم
و طوری هست که از داخل دیتابیس قابل تغییر نیست
مثلا من از Date استفاده کردم که جواب نداد
VS.ColDataType(5) =flexDTDate
آیا اصلا این دستور درسته ؟
اگر هست دستور صحیح چگونه است؟
ممنون

----------


## ali-software

آفای wolf-sky  فلکس گرید همچین خاصیتی نداره.لطفا کمک کنید

----------


## HjSoft

خاصيت DataType رو روي Bound بذارين .

----------


## ali-software

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

----------


## butterfly8528

سلام .

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

----------


## hrj1981

این قسمت محلهای فریز شده در گرید می باشد که شمابا تغییر مقادیر دو آیتم زیر از پروپرتیز گرید می توانید آنها را افزایش یا کاهش دهید
FixedCols  AND  FixedRows

----------


## فاطمه وطن دوست

> دوستان چطوری می تونیم فرمت یک Column رو تغییر بدیم ؟
> من توی اون ردیف ساعت رو دارم
> و طوری هست که از داخل دیتابیس قابل تغییر نیست
> مثلا من از Date استفاده کردم که جواب نداد
> VS.ColDataType(5) =flexDTDate
> آیا اصلا این دستور درسته ؟
> اگر هست دستور صحیح چگونه است؟
> ممنون



  Private Sub Form_Load()
      
          ' format numbers
          fg.*ColFormat*(1) = "#,###.##" ' number with thousand separators
          fg.*ColFormat*(2) = "#.###%"   ' percentage
          fg.*ColFormat*(3) = "#,.##"    ' thousands
          fg.*ColFormat*(4) = "Currency" ' thousands
      
          ' format booleans
          fg.ColDataType(5) = flexDTBoolean
          fg.*ColFormat*(5) = "Probably;Hardly" ' boolean
      
          ' format dates
          *fg.ColFormat(6) = "ddd, mmmm d, yyyy*"
          fg.*ColFormat*(7) = "Medium Date"
          *fg.ColFormat(8) = "Medium Time*"
      
          ' set some cells
          fg.TextMatrix(1, 1) = 1234.56
          fg.TextMatrix(1, 2) = 0.5432
          fg.TextMatrix(1, 3) = 125250
          fg.TextMatrix(1, 4) = -1234.5
          fg.TextMatrix(1, 5) = True
          fg.TextMatrix(1, 6) = #7/4/1969#
          fg.TextMatrix(1, 7) = #7/4/1969#
          fg.TextMatrix(1, 8) = #7/4/1969#
          ' display results:    
          Dim i%
          Debug.Print "Format"; Tab(20); "Content"; Tab(40); "Display"
          Debug.Print "-----------"; Tab(20); "-----------"; Tab(40); "-------------"
          For i = 1 To 8
                Debug.Print fg.ColFormat(i); Tab(20); _
                            fg.Cell(flexcpText, 1, i); Tab(40); _
                            fg.Cell(flexcpTextDisplay, 1, i)
          Next
      End Sub
 


[.:. منبع : فایل راهنمای *Vsflexgrid* .:.]

----------


## butterfly8528

چطوری سطر اول رو به حالت انتخاب در بیارم ؟

----------


## فاطمه وطن دوست

> چطوری سطر اول رو به حالت انتخاب در بیارم ؟


منظورتون اینه ؟
vsf1.SelectionMode=flexSelectionByRow

----------


## Dr.Bronx

متشکر از شما خانم وطن دوست 
با این کد مشکل بنده حل شد : VS.ColFormat(5) = "Medium Time"

آیا حالت های دیگه هم از ساعات رو پشتیبانی می کنه ؟
مثله Access : short time , long time
و غیره

----------


## فاطمه وطن دوست

> متشکر از شما خانم وطن دوست 
> با این کد مشکل بنده حل شد : VS.ColFormat(5) = "Medium Time"
> 
> آیا حالت های دیگه هم از ساعات رو پشتیبانی می کنه ؟
> مثله Access : short time , long time
> و غیره


========

تست کنید. 
fg.ColFormat(Col) = "long time"

یه نکته رو هم بگم : جواب ها رو میشه بدون انتظار کشیدن و خیلی راحت از روی فایل راهنمای Vsflex grid پیدا کرد. 
قبلاً این فایل در انجمن گذاشته شده.

----------


## Dr.Bronx

من فایل setup رو تازه تونستم پیدا کنم
قبلا فقط همین vsflex8.ocx رو داشتم
تازه انقدر نمونه دارم آدم نمی دونه کدومش مربوط به کدوم میشه

--
اگر بخوام که اون __ ق.ظ__ نیاد باید چه کار کرد
من از vs.colformat (8) = "##:##" استفاده کردم اما جواب نداد 
راه دیگه ای هست ؟

----------


## فاطمه وطن دوست

> من فایل setup رو تازه تونستم پیدا کنم
> قبلا فقط همین vsflex8.ocx رو داشتم
> تازه انقدر نمونه دارم آدم نمی دونه کدومش مربوط به کدوم میشه
> 
> --
> اگر بخوام که اون __ ق.ظ__ نیاد باید چه کار کرد
> من از vs.colformat (8) = "##:##" استفاده کردم اما جواب نداد 
> راه دیگه ای هست ؟


ببینید با این کد مشکل حل میشه ؟ 

 fg.TextMatrix(Row, Col) = Str(DateTime.Hour(Time)) + ":" + Str(DateTime.Minute(Time)) + ":" + Str(DateTime.Second(Time))

----------


## Dr.Bronx

خوب این کار دیگه ای می کنه
اون فیلد من از قبل پر شده
یعنی داره از یک کوئری اطلاعاتش رو می گیره

----------


## butterfly8528

> منظورتون اینه ؟
>  	کد:
>  	vsf1.SelectionMode=flexSelectionByRow


ممنون . ولی منظور من اینه که بتونم هر سطری رو که بخوام سلکت کنم . مثلا سطر سوم .

----------


## فاطمه وطن دوست

> خوب این کار دیگه ای می کنه
> اون فیلد من از قبل پر شده
> یعنی داره از یک کوئری اطلاعاتش رو می گیره


مشکل حل شد؟

----------


## فاطمه وطن دوست

> ممنون . ولی منظور من اینه که بتونم هر سطری رو که بخوام سلکت کنم . مثلا سطر سوم .


سوالتون خیلی کلی هست. یکم توضیح بدید. مثال بزنید.

----------


## Dr.Bronx

> مشکل حل شد؟


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

----------


## Dr.Bronx

چطور میشه مثل دیتاگرید خاصیت allowaddnew یا allowedit
رو برای Vs هم داشت
یعنی نمی خوام که کاربر توی تکست باکس چیزی وارد کنه
به ترتیب توی Vs وارد کنه و در آخر هم آبدیت بشه دیتابیس
آیا این امکان در vs وجود داره ؟

----------


## xxxxx_xxxxx

> ممنون . ولی منظور من اینه که بتونم هر سطری رو که بخوام سلکت کنم . مثلا سطر سوم .


سلام،
برای سلکت کردن باید از متد Select استفاده کنید. چهار پارامتر داره که دوتای اولیش اصلی و اجباری هست. اولی اشاره به سطر و دومی ستون داره. پس شما برای انتخاب سطر سوم بایست اینطور بنویسید:

VSFlexGrid1.Select 3, 1
البته SelectionMode رو قبلش روی 1 یعنی ByRow قرار بدید.

حالا اگر بخواید سطر بعدی انتخاب بشه، یعنی اگر الان فکوس رو سطر سوم بود بره رو چهارمی.
شما باید متوجه بشید سطر فعلی که فکوس روش هست کدومه که با این متد از گرید میشه فهمید. (VSFlexGrid1.Row) پس دستور به این شکل میشه:

VSFlexGrid1.Select VSFlexGrid1.Row + 1, VSFlexGrid1.Col
برای کم شدن هم به همین طریق. فقط توجه داشته باشید که انتخاب سطر بعدی تنها در شزایطی صورت میگیره که سطر بعدی وجود داشته باشه در غیر این صورت با خطا مواجه میشید. یا باید On Error بزارید که من خوشم نمیاد (:d) یا باید شرایط رو بسنجید. که همین کارو می کنیم.
متد Rows از گرید به تعداد کل سطرهای گرید اشاره میکنه. پس شرط ما برای رفتن به سطر بعدی این میشه:

If VSFlexGrid1.Row + 1 < VSFlexGrid1.Rows Then
   VSFlexGrid1.Select VSFlexGrid1.Row + 1, VSFlexGrid1.Col
End If
برای کم شدن(انتخاب سطرقبلی) هم باید ببینیم شماره سطر فعلی بیشتر از 1 باشد.

موفق باشید/

----------


## HjSoft

> چطور میشه مثل دیتاگرید خاصیت allowaddnew یا allowedit
> رو برای Vs هم داشت
> یعنی نمی خوام که کاربر توی تکست باکس چیزی وارد کنه
> به ترتیب توی Vs وارد کنه و در آخر هم آبدیت بشه دیتابیس
> آیا این امکان در vs وجود داره ؟


خاصيت Editable رو به KBDMouse تغيير بده ، ميتوني ويرايش رو انجام بدي !

----------


## kama2222

چطور مي توانم با زدن تيك يا دوبار كليك روي هر سطر رنگ هر سطر را تغيير دهم.و با دوبار كليك مجدد يا برداشتن تيك رنگ آن را به حالت عادي با داشتن خاصيت backcolor alternative برگردانم.
با تشكر

----------


## mpmsoft

> چطور مي توانم با زدن تيك يا دوبار كليك روي هر سطر رنگ هر سطر را تغيير دهم.و با دوبار كليك مجدد يا برداشتن تيك رنگ آن را به حالت عادي با داشتن خاصيت backcolor alternative برگردانم.


شما قبل از تغییر رنگ سطر مورد نظر باید رنگ قبلی اونو بدست بیارید و بعد از دوبار کلیک کردن رنگ اون سطر رو عوض کنید

جهت تغییر نگ یک سطر
VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1) = vbBlue


جهت بدست آوردن رنگ یک سطر
CColor = VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1)

----------


## Sepideh13

سلام.من يك برنامه انبار و اموال با vb6 نوشتم. كدي لازم دارم كه با استفاده از اون، دو نفر بطور همزمان نتونند از طريق 1 نام كاربري يكسان وارد سيستم شوند.يعني سيستم تشخيص بده كه آيا كاربر قبلي از سيستم خارج شده يا نه.1 فيلد در db گذاشتم كه اگه كاربر خارج شد صفر بشه، اما اگه كاربر با error از سيستم بيرون بيفته،مشكل ساز ميشه. timer لازم داره انگار

----------


## mpmsoft

> فيلد در db گذاشتم كه اگه كاربر خارج شد صفر بشه، اما اگه كاربر با error از سيستم بيرون بيفته،مشكل ساز ميشه.


این روش اشتباه است و نیاز شما رو بر آورد نمی کنه

من این قسمت رو توسط TCP با کنترل Winsock انجام دادم (کار با وینسک کمی پیچیدست پس باید توی این سایت جستجو کنید و منابع رو در مورد winsock پیدا کنید )

----------


## rostami

سلام
لطفا در مورد پر کردن سل های گرید بصورت کومبو باکس توسط اطلاعات دیتابیس راهنمایی کنین. 
مثال:

ردیف | نام | نام خانوادگی | ش.ش | و ...
البته منظورم این هستش که این اطلاعات رو از کومبو لیست انتخاب کرده و در جدول دیگه ای ذخیره کنم.

همچنین در مورد حرکت بین سل ها توضیح بدین.

----------


## Dr.Bronx

کسانی که می خوان شماره ردیف داشته باشند
این کد ردیف رو در col 1 قرار میده

Dim radif As String
radif = 0
For s = 2 To VS.Rows
radif = radif + 1
VS.TextMatrix(s - 1, 1) = radif
Next

موفق باشید

----------


## mpmsoft

برای گذاشتن ردیف باید در رویداد After_DataRefresh کدی بنویسید که بصورت حلقه ای عمل کنه و شماره ردیف رو بصورت دستی ست کنه
که با تغییر سورت باز نیز باید این رویداد صدا زده بشه


Public Sub RowNumber(VS As VSFlexGrid, Col As Integer)
If VS.Rows = 1 Then Exit Sub

For i = 1 To VS.Rows - 1
    VS.TextMatrix(i, Col) = i
    DoEvents
Next
End Sub

----------


## leilast

من یک کاربر مبتدی هستم و تا حالا با این ابزار کار نکردم ولی الان بهش احتیاج دارم
آیا این ابزار توی کامپوننتهای خود vb  هست یا باید دانلودش کنم؟

----------


## butterfly8528

> من یک کاربر مبتدی هستم و تا حالا با این ابزار کار نکردم ولی الان بهش احتیاج دارم
> آیا این ابزار توی کامپوننتهای خود vb  هست یا باید دانلودش کنم؟


سلام . 

باید دانلود شه .

----------


## hasanain

سؤال: چطور میتوان چند ردیفی که کاربر انتخاب کرده (Select)، را هم از دیتابیس و هم از گرید حذف کرد. منظورم این است که چطور میتوان آن ردیفهای انتخاب شده را از VSFlexGrid بگیریم؟

----------


## shahmahi

سلام

چطوری میتونم ردیفهایی رو که از VsFelexGrid انتخاب و سلکت کردم به کریستال رپورت بفرستم برای نمایش و چاپ .

----------


## Dr.Bronx

این یک تیکه از کد مربوط به یک برنامه هست.

Private Sub VS_KeyDown(KeyCode As Integer, Shift As Integer)
Dim rs As New adodb.Recordset
If KeyCode = vbKeySpace Then
Dim bColor As String
bColor = VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1)
If Not bColor = &H8080FF Then
If rs.State = 1 Then rs.Close
rs.Open "Update Tbl_Money Set Sanad_RowSel = 1 where Sabt_Code =" & VS.TextMatrix(VS.Row, 3), conn, adOpenStatic, adLockOptimistic
VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1) = &H8080FF
Else
If rs.State = 1 Then rs.Close
rs.Open "Update Tbl_Money Set Sanad_RowSel = 0 where Sabt_Code =" & VS.TextMatrix(VS.Row, 3), conn, adOpenStatic, adLockOptimistic
VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1) = Default
End If
End If
End Sub

این سطر ها رو رنگی می کنه و عدد 1 رو داخل یک فیلد در دیتابیس قرار میده
وقتی خواستید پرینت بگیرید بگید تمام اونایی که 1 داره یا برعکس

موفق باشید

----------


## shahmahi

> این سطر ها رو رنگی می کنه و عدد 1 رو داخل یک فیلد در دیتابیس قرار میده
> وقتی خواستید پرینت بگیرید بگید تمام اونایی که 1 داره یا برعکس


البته من هنوز کدها رو امتحان نکردم ولی من منظورم این بود که تعدادی از ردیفهای vs توسط کاربر در حالتی که برنامه اجرا شده است انتخاب شده و حالا میخواد این چند تا ردیفی رو که انتخاب کرده ازشون پرینت بگیره و فایلی هم که استفاده شده برای پرینت و نمایش کریستال هستش.

----------


## shahmahi

سلام 

Tbl_Money این که باید اسم جدولت باشه و Sanad_RowSel اینم باید نام اون فیلد از جدول باشه که قرار 1 یا 0 توش ریخته بشه Sabt_Code این چیه، میشه بگی؟

بعد یک سوال دیگه آیا این کار باعث پایین اومدن سرعت برنامه نمیشه ؟ پایگاه برنامم  Access هستش و نزدیک به 3500 تا هم رکورد داره .

----------


## hasanain

تکرار سؤال: چطور میتوان چند ردیفی که کاربر انتخاب کرده (Select)، را هم از دیتابیس و هم از گرید حذف کرد. منظورم این است که چطور میتوان آن ردیفهای انتخاب شده را از VSFlexGrid بگیریم؟ کدام خصوصیت (Property) ردیفهای انتخاب شده را برمیگرداند؟

----------


## Dr.Bronx

با vs.row شما می تونید شماره ردیف رو به دست بیارید
البته توجه داشته باشید که row از 1 شروع میشه

----------


## NEEON2

سلام 
من یه flxgrid زدم اما set نمیشه
اولین بارم هست که از grid استفاده می کنم 
کدش رو هم میذارم ممنون میشم راهنماییم کنید
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Form_Load()
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\libproj.mdb;Persist Security Info=False"
    conn.Open
Dim sql As String
    sql = "select BookID, bookName from lbook"
    rs.Open sql, conn, adOpenStatic, adLockOptimistic
    Set fgIssuedBook.DataSource = rs
End Sub

----------


## Dr.Bronx

اگر fgIssuedBook نام اون vsflex شما باشه قطعا مشکلی وجود نداره.

کدهارو اینطوری بنویسید .



Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\libproj.mdb;Persist Security Info=False"
 conn.Open
 rs.Open "select BookID, bookName from lbook", conn, adOpenStatic, adLockOptimistic
    Set fgIssuedBook.DataSource = rs
End Sub

موفق باشید ./

----------


## NEEON2

> اگر fgIssuedBook نام اون vsflex شما باشه قطعا مشکلی وجود نداره.
> 
> کدهارو اینطوری بنویسید .
> 
> 
> 
> Private Sub Form_Load()
> Dim conn As New ADODB.Connection
> Dim rs As New ADODB.Recordset
> ...


ممنون اما بازم نشد!
توی سورس کد vsflix هم نباید چیزی بنویسم؟ :افسرده:

----------


## Dr.Bronx

پیغام خطا میده ؟
یا اصلا هیچ چیزی رو روی vsflex نمایش نمیده ؟
( نمونه برنامه قرار بدید )

موفق باشید

----------


## NEEON2

> پیغام خطا میده ؟
> یا اصلا هیچ چیزی رو روی vsflex نمایش نمیده ؟
> ( نمونه برنامه قرار بدید )
> 
> موفق باشید


تونستم درستش کنم
با این کدها:
Private Sub Command1_Click()
    Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\libproj.mdb;Persist Security Info=False"
    Conn.Open
    rs.Open "select BookID, bookName from lbook", Conn, adOpenStatic, adLockOptimistic
    
     VSFlexGrid1.LoadArray rs.GetRows

----------


## Dr.Bronx

خوب قطعا اشتباه هست

همین کد هارو اینطوری بنویسید

Private Sub Command1_Click()
    Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\libproj.mdb;Persist Security Info=False"
    Conn.Open
    rs.Open "select BookID, bookName from lbook", Conn, adOpenStatic, adLockOptimistic
    
set VSFlexGrid1.datasource = rs

end sub

موفق باشید./

----------


## NEEON2

خیلی ممنون این بهتر شد چون برای خالی بودنش یه شرط می خواستم بزارم کار نمی کرد
خیلی ممنون
اما حالا یه سوال دیگه 
اینکه چطوری می تونم عرض یه ستون رو زیاد کنم یعنی اندازه متن باشه؟

----------


## Dr.Bronx

> خیلی ممنون این بهتر شد چون برای خالی بودنش یه شرط می خواستم بزارم کار نمی کرد
> خیلی ممنون
> اما حالا یه سوال دیگه 
> اینکه چطوری می تونم عرض یه ستون رو زیاد کنم یعنی اندازه متن باشه؟



vsflex.colwidth(1) = 500

موفق باشید ./

----------


## adib202

سلام
من از خاصیت RowColChange دیتاگرید برای انتخاب یک سطر و نمایش اطلاعات سطر select شده مثلا توی یه تکس باکس استفاده میکنم.اینطوری:

tbx_name.Text = Adodc1.Recordset.Fields("name")
میخوام ببینم توی vsflex چطور باید عمل کنم؟

----------


## Hosna.Soft_old

هم می تونید از Rowchange و هم از Selchange استفاده کنید

موفق باشید ./

----------


## hasanain

چگونه میتوان Format مربوط به یک ستون عددی که همیشه بایستی دو رقم بعد از ممیز را نمایش دهد به VSFlexGrid فهماند؛ البته علامت ممیز را به صورت   /   میخواهم. مثلا عدد 12.5 را به صورت 12/50 و عدد 11 را به صورت 11/00 نمایش دهد؟

----------


## Sepideh13

سلام
شما باید از خاصیت ColFormat در گرید استفاده کنید.
مثلا در مورد flexgrid بنویسید:
flexgrid.ColFormat(1) = Format(Recordset!Total_Price, "#,##0;(#,##0)")
فرمت و فیلد مورد نظر را در کد بالا جایگذاری میکنیم

----------


## hasanain

از اینکه توجه کردین، خیلی ممنون. اما پاسخ شما عملی نیست متأسفانه. در حالت عادی برای دو رقم بعد از ممیز کافی است که چنین باشد:
ColFormat(5) = "#.##"

من چند حالت زیر را امتحان کردم اما جواب نگرفتم، چون میخواهم که علاوه براینکه دو رقم بعد از ممیز را نمایش دهد، علامت ممیز را با کاراکتر "/" نمایش دهد نه "." 
ColFormat(5) = Format(Recordset!VAZN), "#/##")
ColFormat(5) = Format(Recordset!VAZN), "0/00")
ColFormat(5) = Replace$(Format(Recordset!VAZN , "0.00"), ".", "/")

----------


## مسعود منصوری

سلام
من ميخوام از Vs Flex Grid براي ورود اطلاعات استفاده كنم چه جوري ميتونم format ستوني رو جوري ست كنم كه فقط تاريخ فارسي قبول كنه ، آيا راهي داره ؟

----------


## HjSoft

سلام دوستان ، یک سوال فنی داشتم :
چه جوری میشه گریدی رو که به صورت Bound به دیتابیس وصل شده رو قابلیت Sort درش فعال کرد . یعنی Explorer = flexexsort کار کنه . می خوام روی Header هر ستون که کلیک کردم . بر اساس اون ترتیب بشه .

----------


## هوشیاری

با سلام
برای دانلود سورس دفترچه تلفنی که با flex Grid نوشته بودم به سایت برنامه نویسان بروید
امید وارم خوشتون بیاد
http://www.barnamenevisan.net/showthread.php?t=126

----------


## ali reza mansoori 2

اگه میتونید درباره ذخیره کردن به صورت XML و باز کردن آن توسط کریستال بیشتر  توضیح بدید
یا یک نمونه برنامه بزارید که خودم اونو بررسی کنم.
راستش می خواستم برای محدود کردن چاپ از این روش استفاده کنم.
اگه منو راهنمایی کنید ممنون میشم.

----------


## niko2008

VS.SaveGrid App.Path + "\a.xls", flexFileExcel

سلام دوستان عزیز و اساتید محترم یه سوال داشتم : چرا ردیف 0 یا همون تیتر flexgrid رو به اکسل پاس نمیکنه ؟ از ردیف 1 به اکسل میفرسته

----------


## vbnovin

_سلام_ : این برنامه شاید از نظر طراحی قشنگ نباشد ولی این برنامه برای ویدویو کلوپ کامل می باشد. امکانات :
1- سورسی که نوشتم کاملا برای vsflex Girid نمایش عکس درون آن همچنین ذخیره عکس در دیتا بیس مفید آشنا میشوید .
2- روش جستجو به صورت پارامترهای SQL و همچنین درج رکورده و ...
3- خود کامپوننت را هم می گذارم حجم فایل زیاد می باشد اگر شد حتماً ببینید با مثال ....
4- گزارش گیری برنامه به دو صورت پیشرفته کیریستال رپورت 9 است ببینید کارآمدترین گزارشگیر.
5- ذخیره عکس در دیتا بیس به صورت ole میباشد و باینری در فیلد Access قرار میگیرد به روش فایلنگ با کمک موتور ADO ....

6 - نمایش فیلم رکورداز فیل از مسیر با Mediplayer
فایل ضمیمه : 

----------------------------
s/n bank رمز بانک برنامه خودم : a
نام وپسوند بانک را عوض کردم: a.asd
----------------------
رمز ورود به برنامه: 2
نام کاربري: 2 

در صورت سوال پاسخگو هستم پیشنهاد بگذارید با تشکر رومنا hamedromana@yahoo.com

ببخشید اگر دیر شد این هم فایل ضمیمه: لطفا نظرتان را بدهید تشکر نخواستم ، متشکرم 

از اینجا دانلو کنید فایل بانک & فایل سورس و ocx , کامپوننت همرا با مثال FlexGirix ...

http://rapidshare.com/files/38502082...pload.rar.html

----------


## niko2008

سلام خدمت اساتید محترم من چطور میتونم دو ردیف متفاوت از دو Vs Flex Grid متفاوت رو با هم مقایسه کنم و موارد غیر یکسان رو به listbox پاس بدم؟

----------


## Dr.Bronx

چیش رو میخواید مقایسه کنید ؟
اطلاعات یک فیلد رو ؟ 

بیشتر توضیح بدید .
موفق باشید ./

----------


## niko2008

> چیش رو میخواید مقایسه کنید ؟
> اطلاعات یک فیلد رو ؟ 
> 
> بیشتر توضیح بدید .
> موفق باشید ./


دوست عزیز اطلاعات یک فیلد رو
در حقیقت من دوتا  *Vs Flex Grid* دارم که در هر کدوم از آنها در col دومش یک سری اسم هست میخوام این دو رو مقایسه کنم و اسمهایی که یکسان نیستند رو در بیارم

----------


## Dr.Bronx

> دوست عزیز اطلاعات یک فیلد رو
> در حقیقت من دوتا Vs Flex Grid دارم که در هر کدوم از آنها در col دومش یک سری اسم هست میخوام این دو رو مقایسه کنم و اسمهایی که یکسان نیستند رو در بیارم



for i = 1 to vs1.rows
for s = 1 to vs2.rows
if vs1.TextMatrix(i,2) = vs2.TextMatrix(i,2) then
listbox1.additem vs1.textmatrix(i,2)
vs1.row = vs1.row + 1
vs2.row = vs2.row + 2
end if
next i
next s

فکر کنم درست نوشتم .
وی بی دم دست نیست که تست کنم متاسفانه .
تست کنید ببینید چی میشه دیگه

موفق باشید

----------


## niko2008

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

----------


## Dr.Bronx

یه Not اضافه کنید به بعد اون If

for i = 1 to vs1.rows
for s = 1 to vs2.rows
if not vs1.TextMatrix(i,2) = vs2.TextMatrix(i,2) then
listbox1.additem vs1.textmatrix(i,2)
vs1.row = vs1.row + 1
vs2.row = vs2.row + 1
end if
next i
next s

موفق باشید ./

----------


## niko2008

vs1.row = vs1.row + 1
vs2.row = vs2.row + 1
Hosna جان به این دوتا error  میده در ضمن نتایجش تکراری؟




> یه نمونه برنامه بزارید تست کنم .
> 
> موفق باشید ./


یه نمونه از برنامه در صورت امکان محبت بفرمائید

----------


## Dr.Bronx

خدمت شما دوست عزیز .

موفق باشید ./

----------


## niko2008

> خدمت شما دوست عزیز .
> 
> موفق باشید ./


 Hosna جان دوست عزیز ببخشید که مزاحم میشم اگه جای TAB1 و TAB2 رو عوض کنیم نتیجه درست رو نمیده یعنی این تفاوتها حتما باید در یه TAB خاصی باشه؟ باز از وقتی که به من میزارین نهایت تشکر رو دارم

----------


## niko2008

> VS.SaveGrid App.Path + "\a.xls", flexFileExcel
> 
> سلام دوستان عزیز و اساتید محترم یه سوال داشتم : چرا ردیف 0 یا همون تیتر flexgrid رو به اکسل پاس نمیکنه ؟ از ردیف 1 به اکسل میفرسته


 
سلام دوستان من به یه نتیجه رسیدم
VS.FixedRows = 0
VS.SaveGrid App.Path + "\a.xls", flexFileExcel

----------


## niko2008

سلام دوستان چطور میتونیم محتوای vsflexgrid رو به صورت مرتب به TXT فرستاد؟؟؟؟

----------


## mostabed

سلام دوستان 
من میخوام بعضی فیلدها فلکس رو بصورت کمبو استفاده کنم و محتویات آنها رو از sql  بخونم ، اما به مشکل خوردم.
چون از colcombolist استفاده میکنم ولی فکر کنم باید درون یک حلقه باشد تا تموم رکوردها رو بخونه ، چون اینجوری فقط یک گزینه داره ، لطفا به من کمک کنید. ممنون

----------


## niko2008

for i = 1 to vs1.rowsfor s = 1 to vs2.rowsif not vs1.TextMatrix(i,2) = vs2.TextMatrix(i,2) thenlistbox1.additem vs1.textmatrix(i,2)vs1.row = vs1.row + 1vs2.row = vs2.row + 1end ifnext inext sHosna جان دوست عزیز ببخشید که مزاحم میشم اگه جای TABel1 و TABel2 رو عوض کنیم نتیجه درست رو نمیده یعنی این تفاوتها حتما باید در یه TAB خاصی باشه؟ باز از وقتی که به من میزارین نهایت تشکر رو دارم

----------


## javadt

آقا من وقتي عنوان ستون هام رو به عنواين فارسي تغيير ميدم خيلي  سرعت نمايشش كند ميشه
براي حل اين مشكل بايد چي كار كنم 
يعني وقتي عنوان ستونم نام هست طول مي كشه ولي وقتي name طول نمي كشه
با تشكر

----------


## ramzdar

چجوری میشه انازه عرض ستون ها رو بصورت دستی عوض کرد. یعنی اندازه دلخواهی بهش داد؟؟؟

----------


## ramzdar

چطوری میشه توی vsflex از CheckBox استفاده کرد؟؟؟

----------


## kama2222

با سلام 
سئوال اولم این است که چطور می توانم با کلیک در سر ستون، دیتابیس را نیز سورت کنم .
البته کد زیر این کار را انجام می دهد ولی با فونت فارسی مشکل دارد.
LastSort = "[" & VSFlexGrid1.TextMatrix(0, Col) & "]" & IIf(Order = 1, " ASC", " DESC")
Adodc1.Recordset.Sort = LastSort
این کد را یکی از اعضای همین سایت قرارداده است.
سئوال دوم من این است که مثل نرم افزار همکاران سیستم و هلو و سنجه چطور می توانم مستقیماً از قابلیتهای allowaddnew , allowedit در این grid با توجه به ایجاد متغیرها استفاده کنم.من با استفادهاز جدول موقت این کار را انجام دادم. ولی موقعی که با استفاده از صفحه کلید با کلید های جهت دار یا arrow keyمی خواهم یک سطر را اضافه یا حذف کنم به مشکل برمی خودم.

----------


## hrj1981

برای سورت کردن grid می تونی در پروپرتی گرید گزینه explorerbar را برابر عدد 7 بگذاری تا با کیلیک بر روی سر ستون گرید سورت شود

----------


## kama2222

زمانی که با بانک اطلاعاتی در حالت datamode برابر با 2 باشد یا باند باشد نمی توان ار این گزینه استفاده کرد.

----------


## barname_majid

دوست عزیز چه جوری میشه جدول رو بر اساس یکی از دریف ها مثلا ردیف اول که شماره پرسنلی افراد  هست از بزرگ به کوچیک یا بالعکس سرت کرد.

----------


## barname_majid

VSFlexGrid1.ColWidth(0) = 810

----------


## barname_majid

VSFlexGrid1.Cell(flexcpChecked, VSFlexGrid1.Row, 1) = flexcpChecked

----------


## asemaneab

با دستور vsflexgrid1.printgrid  اطلاعاتم رو چاپ می کنم. چطوری می تونم بالای صفحه ای که چاپ میشه عنوان قرار بدم؟ مثلا بنویسه: " فرم شماره 1 "  و بعد گرید رو چاپ کنه.

----------


## parisa.s

سلام
بچه ها من می خوام 
توی فلکسی گرید هر سطرو با یه رنگ نشون بده به شرطی که فیلد رزرو جدولم 1 بود قرمز
فیلد پر جدولم 1 بود زرد و اگر هیچ کدوم اینها نبود سبز نشون بده
نتونستم اینکارو بکنم
این کدی که یکی از دوستان برای فوکوس می خواستن رو من با تغییرات خودم انجام دادم ولی ختی وقتی همین کد رو اجرا می کنم از خاصیت textmatrix ایراد میگیره که invalid property ...
کدی که از این تایپیک برداشتم 
 For i = 0 To vs.Rows
   If Text1.Text = vs.TextMatrix(i, 0) Then
     vs.SetFocus
    vs.Select i, 0
      Exit For
   End If
Next i


تغییراتشم توی برنامه ی خودم اینه
ولی هیچ کدوم اجرا نشد
میشه خواهش کنم کمکم کنین
For i = 0 To vs.Rows
   If  vs.TextMatrix(i, 0)=1 Then
     CColor = vs.Cell(flexcpBackColor, vs.Row, 0, vs.Row, vs.Cols - 1)

vs.Cell(flexcpBackColor, vs.Row, 0, vs.Row, vs.Cols - 1) = vbBlue
      Exit For
   End If
Next i

چه ها خو.اهش میکنم کمکم کنین
عجله دارم یه عالمه
ممنون از همتون

----------


## skh1300

سلام 
من با کد زیر vs1 خودم را پر می کنم

dim x as integer



vs1.Rows = 1001
vs1.Cols = 4
For i = 1 To 1000
vs1.TextMatrix(i, 0) = i
vs1.TextMatrix(i, 1) = i Mod 2
vs1.TextMatrix(i, 2) = "saeed"
Next i

و با کد زیر برای انتخاب استفاده می کنم

x = x + 10
vs1.Select x, 0, x, 1

خوب حالا یه مشکلی هست موقعی که من اطلاعات را select میکنم اسکرولبار به پایین هدایت نمیشه و کاربر نمیفهمه که کدام رکورد select شده

----------


## butterfly8528

> سلام 
> من با کد زیر vs1 خودم را پر می کنم
>      کد PHP:
>   dim x as integer  
>    
>      کد PHP:
>    
> vs1.Rows = 1001 
> vs1.Cols = 4 
> ...


سلام دوست عزیز .

انگار متاسفانه سوال شما رو خیلی دیر دیدم . اما به هر حال جواب شما به صورت زیر هست .

VS.Row = VS.Rows - 1
VS.TopRow = VS.Rows - 1

موفق باشید .

----------


## butterfly8528

سلام .

چطور باید متن Fixed Column ها رو در حالت Design Time و بدون کد نویسی تغییر داد ؟

یعنی معادل این کد : "vs.TextMatrix(0, 1) = "Barnamenevis

----------


## khormaloo

آيا ميشه داخل هر خانه ي vsgride يك چك باكس گذاشت؟؟؟؟
و همينطور می خوام اطلاعات  از  VSFlexGRid   بصورت کلی در پایگاه داده ثبت کنم نه  بصورت تک تک یعنی در gridam   تعداد 10 تا رکورد وارد کنم بعد در پایگاه  داده ذخیره کنم . لطفا راهنمایی کنید .

----------


## ali reza mansoori 2

دوستان وقتی در داخل DataGrid یک سطر رو انتخاب می کنیم داخل Adodc هم همون سطر انخاب میشه حالا این کار رو با VSFlexGrid هم میشود انجام داد

----------


## mostafag

> دوستان وقتی در داخل DataGrid یک سطر رو انتخاب می کنیم داخل Adodc هم همون سطر انخاب میشه حالا این کار رو با VSFlexGrid هم میشود انجام داد


بله میشه
باید خاصیت DataMode رو با FlexdmBound مقدار بدید.

----------


## kahroba77

> سلام
> من ميخوام از Vs Flex Grid براي ورود اطلاعات استفاده كنم چه جوري ميتونم format ستوني رو جوري ست كنم كه فقط تاريخ فارسي قبول كنه ، آيا راهي داره ؟


آقا كسي جواب اين سوالو بلد نيست؟

----------


## karvarz

سلام دوستان.
امیدوارم سوالم را در جای صحیح مطرح کرده باشم.
چگونه می توان محتویات VsFlexGrid که بصورت درختی است در بانک اطلاعاتی ذخیره کرد و سپس آنرا از بانک خواند (مانند کنترل TreeView).

----------


## Dr.Bronx

> سلام
> من ميخوام از Vs Flex Grid براي ورود اطلاعات استفاده كنم چه جوري ميتونم  format ستوني رو جوري ست كنم كه فقط تاريخ فارسي قبول كنه ، آيا راهي داره ؟


vs.ColEditMask(2) = "####/##/##"




> چطور باید متن Fixed Column ها رو در حالت Design Time و بدون کد نویسی تغییر داد ؟
> 
> یعنی معادل این کد : "vs.TextMatrix(0, 1) = "Barnamenevis


اگر فايل setup كامپوننت رو داشته باشيد و نصب كنيد روي vs راست كليك و properties مي زنيد امكانات بيشتري داريد كه يكيش همينه .

----------


## kami_63

گذاشتن Checkbox در Flexgrid

سلام خدمت دوستان و اساتید محترم
می خواستم بدونم چطور می تونم تو یکی از ستون های Flexgrid یه Checkbox قرار بدم
ممنون میشم اگه جوابمو بدید

----------


## A_1397

سلام دوستان. من تو برنامم از يه datagrid استفاده كردم كه با اين دستور داده ها رو از جدولم ميخونه: Grid1.DataSource = rs (كه rs يه ركورد سته). حالا مشكل اينجاست كه وقتي گريدم داخلش ركورد هست و ميخام اونا پاك بشن و يه ركوردهاي ديگه رو نشون بده اين اررو رو ميده: object already loaded روي همون دستور بالا. فكركنم كه بايد يه جوري datasourceشو پاك كنم و دوباره ست كنم ولي نميدونم چطوري؟

----------


## vbnovin

روش ثبت و ويرايش كل گيريد:



```
Private Sub EDIT_KOL_Girid()
'ËÈÊ ææíÑÇíÔ ˜á ÑíÏ
    
'*****************************************
'RO ÊÚÏÇÏ ÑíÏÝ 'RKOL ÊÚÏÇÏ ˜á ÓØÑåÇí ÑíÏ
 Dim R As Long, RKOL  As Long
 RKOL = G.Rows
        
    If G.TextMatrix(G.Row, 0) = "" Then
       Exit Sub
    End If
    
    
    PM = MsgBox("ÇÑÈÑãÍÊÑã ÊæÌå:ÂíÇ˜á ÇØáÇÚÇÊ áíÓÊ ËÈÊ ÑÏÏ¿", vbOKCancel + vbMsgBoxRight + vbInformation, "ÍÞæÞ æ ÏÓÊãÒÏ")
    If PM = 1 Then
    
               
       'ÍáÞå Èå ÊÚÏÇÏ áíÓÊ Ê˜ÑÇÑ æ ËÈÊ ãíÔæÏ
       For R = 3 To RKOL - 1 Step 1
    
    
           Set SeatRS = New Recordset
           If SeatRS.State = adStateOpen Then
              SeatRS.Close
           End If
           
           Call conecttttttttttt
           SeatRS.Filter = "CODp  =  '" + G.TextMatrix(R, 0) + "' And mah =  " & Val(cmbMah.ListIndex) & ""
           If Not SeatRS.EOF Then
              
              If G.TextMatrix(R, 0) <> "" Then
                 'æíÑÇíÔ ÇØáÇÚÇÊ ãÇå áíÓÊ
                 SeatRS.Close
                 'æíÑÇíÔ ˜ÏÝÑÏæäÇã...ÝÑÏ
                 SqlStr = " Update tMahaneh  Set " & _
                          " CodP               = " & SETCOMA(G.TextMatrix(R, 0), False, True) & _
                          " karroz             = " & SETCOMA(Val(G.TextMatrix(R, 2)), False, True) & _
                          " EzafKar            = " & SETCOMA(Val(G.TextMatrix(R, 3)), False, True) & _
                          " TatilKar           = " & SETCOMA(Val(G.TextMatrix(R, 4)), False, True) & _
                          " MamoriatBi         = " & SETCOMA(Val(G.TextMatrix(R, 5)), False, True) & _
                          " MamoriatBa         = " & SETCOMA(Val(G.TextMatrix(R, 6)), False, True) & _
                          " KharidMorkhasi     = " & SETCOMA(Val(G.TextMatrix(R, 7)), False, True) & _
                          " NobatKari          = " & SETCOMA(Val(G.TextMatrix(R, 8)), False, True) & _
                          " hPadash            = " & SETCOMA(Val(G.TextMatrix(R, 9)), False, True) & _
                          " hMoavaghe          = " & SETCOMA(Val(G.TextMatrix(R, 10)), False, True) & _
                          " hModireh           = " & SETCOMA(Val(G.TextMatrix(R, 11)), False, True) & _
                          " hJalaseh           = " & SETCOMA(Val(G.TextMatrix(R, 12)), False, True) & _
                          " hEzafeBaBM         = " & SETCOMA(Val(G.TextMatrix(R, 13)), False, True) & _
                          " hEzafeBiBM         = " & SETCOMA(Val(G.TextMatrix(R, 14)), False, True) & _
                          " hEzafeShM          = " & SETCOMA(Val(G.TextMatrix(R, 15)), False, True) & _
                          " hEzafeShB          = " & SETCOMA(Val(G.TextMatrix(R, 16)), False, True) & _
                          " hKarane            = " & SETCOMA(Val(G.TextMatrix(R, 17)), False, False) & _
                          " where                " & _
                          " codp               = " & SETCOMA(G.TextMatrix(R, 0), False, False) & _
                          " AND " & _
                          " mah                = " & SETCOMA(Val(cmbMah.ListIndex), False, False)
                  Connect1.Execute SqlStr
              End If
          
          
           Else
          
               
              If G.TextMatrix(R, 0) <> "" Then
                 SeatRS.Close
                 'ËÈÊ ÇØáÇÚÇÊ ÌÏíÏ
                 SqlStr = " Insert Into tMahaneh(mah,codp,karroz,EzafKar,TatilKar,MamoriatBi,MamoriatBa,KharidMorkhasi,NobatKari,hPadash,hMoavaghe,hModireh,hJalaseh,hEzafeBaBM,hEzafeBiBM,hEzafeShM,hEzafeShB,hKarane)" & _
                          " VALUES( " & _
                                    " '" & Val(cmbMah.ListIndex) & "'," & _
                                    " '" & Val(G.TextMatrix(R, 0)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 2)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 3)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 4)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 5)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 6)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 7)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 8)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 9)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 10)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 11)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 12)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 13)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 14)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 15)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 16)) & "' ," & _
                                    " '" & Val(G.TextMatrix(R, 17)) & "'  " & _
                                    " )"
                  Connect1.Execute SqlStr
               End If
               
          
           End If
             
       DoEvents
       Next R
       '****************************
       
       
         'ÑíÏ æíÑÇíÔ æ ËÈÊ ÔÏå
          V_EDitSELL = True
          MsgBox "˜á ÇØáÇÚÇÊ áíÓÊ ËÈÊ ÑÏíÏ", vbOKCancel + vbMsgBoxRight + vbInformation, "ÍÞæÞ æ ÏÓÊãÒÏ"
    
    
    Else
    
         'æíÑÇíÔ ÔÏå æáí ËÈÊ äÔÏå
          V_EDitSELL = False
        
    End If
    
G.SetFocus
    
End Sub
```

----------


## vbnovin

بازسازي و نمايش در گريد : مثال ...



```
Private Sub EDIT_KOL_BAzsaaiGirid()
'ÈÇÒÓÇÒí  ˜á ÑíÏ
    
    If G.TextMatrix(G.Row, 0) = "" Then
       Exit Sub
    End If
    '********************************************
    'R ÊÚÏÇÏ ÑÏíÝ 'RKOL ÊÚÏÇÏ ˜á ÓØÑåÇí ÑíÏ
     Dim R As Long, RKOL  As Long
     RKOL = G.Rows
     For R = 3 To RKOL - 1
    
        Set SeatRS = New Recordset
        If SeatRS.State = adStateOpen Then
           SeatRS.Close
        End If
        
        Call conecttttttttttt
        SeatRS.Filter = "CODp  =  '" + G.TextMatrix(R, 0) + "' And mah =  " & Val(cmbMah.ListIndex) & ""
        If Not SeatRS.EOF Then
           
           'áíÓÊ ÞÈáÇ ËÈÊ ÔÏå
           SeatRS.Close
           G.SetFocus
           Exit Sub
    
        Else
              
              SeatRS.Close
              If G.TextMatrix(R, 0) <> "" Then
                 
                 'ËÈÊ ÌÏíÏÇØáÇÚÇÊ ãÇå áíÓÊ
                 SqlStr = " Insert Into tMahaneh(mah,codp,karroz,EzafKar,TatilKar,MamoriatBi,MamoriatBa,KharidMorkhasi,NobatKari,hPadash,hMoavaghe,hModireh,hJalaseh,hEzafeBaBM,hEzafeBiBM,hEzafeShM,hEzafeShB,hKarane)" & _
                          " VALUES( " & _
                                 " '" & Val(cmbMah.ListIndex) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 0)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 2)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 3)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 4)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 5)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 6)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 7)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 8)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 9)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 10)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 11)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 12)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 13)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 14)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 15)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 16)) & "' ," & _
                                 " '" & Val(G.TextMatrix(R, 17)) & "'  " & _
                                 " )"
                 Connect1.Execute SqlStr
              End If
       
        End If
       
    DoEvents
    Next R
    '******************************************
    G.SetFocus
    
End Sub
```

----------


## vbnovin

روش حذف خالي كردن خانه هاي گريد با ذكر مثالي براي شما :






```
Private Sub Clear_Girid()
'Dim i, j, R   As Integer
'ÎÇáí ˜ÑÏä ÎÇäå åÇí ÑíÏ
 
    R = G.Rows
    For i = 3 To R - 1
        For j = 2 To 17
            G.TextMatrix(i, j) = ""
        Next
    Next
End Sub
```

 
همچنين در روال ديگر عمليات حذف بعد از كليك و انتخاب رديفي از گريد ...





```
Private Sub DeleteX()
'ÍÐÝ
    If G.TextMatrix(G.Row, 0) = "" Then Exit Sub
 
    PM = MsgBox("ÇØáÇÚÇÊ Çíä äÇãå ÍÐÝ ÑÏÏ¿", vbOKCancel + vbMsgBoxRight + vbInformation, " ÍÞæÞ ÏÓÊãÒÏ ")
    If PM = 1 Then
 
        'ÝÑã ÑãÒÏåí ÌåÊ ÍÐÝ
        Frm_Ramz.Show 1
        If flag_Ramz = True Then
           Set SeatRS = New Recordset
           If SeatRS.State = adStateOpen Then
              SeatRS.Close
           End If
           'SqlStr = " SELECT * FROM tMahaneh Where CodP  >= " & Val(txtAz) & " And  CodP  <= " & Val(txtTa) & " And  mah  = " & Val(cmbMah.ListIndex) & ""
           Call conecttttttttttt
           SeatRS.Filter = "CODp  =  '" + G.TextMatrix(G.Row, 0) + "' And mah =  " & Val(cmbMah.ListIndex) & ""
           If SeatRS.EOF = True Then
              SeatRS.Close
              Exit Sub
           Else
              R = 1
              SeatRS.MoveFirst
              Do While Not SeatRS.EOF
                 If SeatRS.EOF <> True Then
                    SeatRS.Delete
                    SeatRS.MoveNext
                    R = R + 1
                 Else
                    SeatRS.MoveNext
                 End If
              Loop
              SeatRS.Close
            End If
         End If
 
    End If
 
    'ÝÑÇÎæÇä ÇíäÑæÇá ÈÑÇí äãÇíÔ ÏÑ ÑíÏ
    Call CmdSabtMah_Click
 
End Sub
 
Private Sub conecttttttttttt()
    Set SeatRS = New Recordset
    If SeatRS.State = adStateOpen Then
       SeatRS.Close
    End If
    'áíä˜ ÈÇ ÌÏæá ÏÑæä ÈÇä˜ ÇØáÇÚÇÊí ãæÑÏ äÙÑ
    SelSQL = "select * from tMahaneh ORDER BY CODp DESC;"
    SeatRS.Open SelSQL, Connect1, adOpenKeyset, adLockOptimistic
 
End Sub
```

----------


## vbnovin

اينم تابع كه براي راحت شدن از شر كاما " " ' ' گذاري در دستورات SQL درست كردم " كه سورسهاي پستهاي پايينتر ازش استفاده كردم 



```
Public Function SETCOMA(STRX As Variant, Y1 As Boolean, y2 As Boolean) As Variant
    
    If (STRX <> False) And (STRX <> True) Then
        STRX = Trim(STRX)
    End If
    
    If Y1 = True Then
       STRX = "'" & STRX & "'"
    End If
    
    If y2 = True Then
       STRX = STRX & ","
    End If
    
    SETCOMA = STRX
    
End Function
```

  

شرمنده اگر مختصر جواب دادم بعد از مدتها اومدم تو سايت برنامه نويسان اين كدها مربوط به پروژه اي حدود 6 سال پيشم بود الان بيشتر vb.net كار مي كنم پيشنهاد مي كنم شما هم به سمتش بياين در خدمتم ... 
درسته زياد تو سايت فعالتي ندارم اما اگر هر سئوالي تو vb داريد بپرسيد در خدمتم تقريبا هر كاري كه تو vb6 بود انجام دادم . هر سئوالي در خدمتم ... بهتر سورسها رو ببريد اول تو خود محيط vb ببينيد تا توضيحات فارسي كه الان ناخوانست رو ببينيد ...

تو اين برنمامه من از VSflexGrid 8 استفاده كردم ، يادش بخير واقعا كولاكه مثل محيط اكسل امكانات بهتون ميده ...

فكر كنم با نگاه به اين كدها *arcgis* عزيز همه چيز دستگيرتون شده باشه ...

رومنا : سئوالي داشتيد درخدمتم hamyromana@yahoo.com ,

----------


## moghadam1372

چطوری می شود درVSflexGrid یک ردیف ( سطر ) را با کلیک برروی آن انتخاب کرده وبعد آن ردیف را ویرایش کرد؟

----------


## sehm67

سلام
چطور می شه در VSflexGrid با استفاده از کلیک راست سطر مورد نظر رو سلکت کنیم؟

یعنی بر روی هر سطر کلیک راست کردیم انتخاب بشه؟

----------


## gonbady

سلام خانم وطن دوست . من میخوام داخل دیتابیسم یک فیلد بزارم که اگر مقدار این فیلد 1 باشد رنگ ردیف رکورد مربوط به آن در *Vsflexgrid* بشه قرمز اگه لطف کنید همراه با یک مثال برام بفرستید ممنون میشم

----------


## 1101001

ثبت دیتا در بانک از Combo درون VSFlexGrid

سلام خدمت دوستان عزیز
برای اولین بار از کامپوننت VSFlexGrid 8 استفاده کردم و به جدولی در بانک متصل هست. هر سلول از VSFlexGrid رو به Combo تبدیل کردم، که وقتی تغییر میکنه باید توی رکورد مربوطه ثبت بشه.
لطفاً راهنمایی کنید

----------


## kitcat_m18

سلام،
از کد زیر استفاده کن. بعد از اینکه Focous از کمبو تغییر داده شده خارج بشه رکوردست آپدیت میشه و دیتای جدید جایگزین میشه
Private Sub fg_CellChanged(ByVal Row As Long, ByVal Col As Long)
    If Row > 0 Then
        Rs.AbsolutePosition = Row
        Rs.Fields(Col) = fg.TextMatrix(Row, Col)
        Rs.Update
    End If
End Sub

موفق باشی  :لبخند:

----------


## 1101001

> سلام،
> از کد زیر استفاده کن. بعد از اینکه Focous از کمبو تغییر داده شده خارج بشه رکوردست آپدیت میشه و دیتای جدید جایگزین میشه
> Private Sub fg_CellChanged(ByVal Row As Long, ByVal Col As Long)
>     If Row > 0 Then
>         Rs.AbsolutePosition = Row
>         Rs.Fields(Col) = fg.TextMatrix(Row, Col)
>         Rs.Update
>     End If
> End Sub
> ...



سلام

مهندس دستت درد نکنه کمک کردی، اما سرعت فرم خیلی شدید کند شد، با کمی تغییر درست شد، به جای CellChanged از این استفاده کردم با سرعت حجم بالای جدول رو ادیت میکنه.


Private Sub Flex_AfterEdit(ByVal Row As Long, ByVal Col As Long)
On Error Resume Next
Rs1.Close
Rs1.Open "SELECT * from days order by ID_Sol,year,moon"
If Row > 0 Then
   Rs1.AbsolutePosition = Row
   Rs1.Fields(Col - 1) = Flex.TextMatrix(Row, Col)
   Rs1.Update
End If
End Sub

----------


## mostafaserial

سلام
من از vs خروجی اکسل میگیرم همه چی درسته فقط تاریخ رو به شکل زیر نشون میده .
این دستوری که دادمVS.SaveGrid "ex.xls", flexFileExcel, _
      flexXLSaveFixedCells Or flexXLSaveRaw
به این شکل ###############
عکس
http://img4up.com/up2/78454471895425711356.jpg

----------


## mostafaserial

سلام
کسی نیست جواب بده؟

----------


## ahp_online

یک سوال:
چطور میشه توی خود دیتاگرید مستقیم تایپ کرد واطلاعات همانجا توی بانک اطلاعاتی ذخیره بشه؟؟ حتی اگر خواستیم ادیت کنیم همین اتفاق بیفته؟؟

----------


## MohammadGh2011

> یک سوال:
> چطور میشه توی خود دیتاگرید مستقیم تایپ کرد واطلاعات همانجا توی بانک اطلاعاتی ذخیره بشه؟؟ حتی اگر خواستیم ادیت کنیم همین اتفاق بیفته؟؟


 سلام عليکم
شما فيلدهاي ديتاگريد رو وقتي متصل کنيد به فيلد بانک اطلاعاتي،در موقع اجرا اگه مستقيم توي ديتاگريد بنويسيد؛اون نوشته ذخيره ميشه و مشکلي نداره.


موفق باشيد

----------


## ahp_online

> سلام عليکم
> شما فيلدهاي ديتاگريد رو وقتي متصل کنيد به فيلد بانک اطلاعاتي،در موقع اجرا اگه مستقيم توي ديتاگريد بنويسيد؛اون نوشته ذخيره ميشه و مشکلي نداره.
> 
> 
> موفق باشيد


سلام
لطفا نحوه اتصال به دیتاگرید flaxgrid رو بگید؟؟در حالت پیش فرض نمیشود داخل این دیتاگرید نوشت!! چه باید کرد؟

----------


## MohammadGh2011

> سلام
> لطفا نحوه اتصال به *دیتاگرید* *flaxgrid* رو بگید؟؟در حالت پیش فرض نمیشود داخل این دیتاگرید نوشت!! چه باید کرد؟


 دوست عزيز منظور شما کدوم کنترله؛ Datagrid يا FlexGrid ؟

----------


## ahp_online

flex grid منظورمه 
شرمنده اگه منظورمو بد بیان کردم

----------


## MohammadGh2011

> flex grid منظورمه 
> شرمنده اگه منظورمو بد بیان کردم


خواهش ميکنم
تا اونجايي که بنده اطلاع دارم براي بانکهاي اطلاعاتي فقط بايد از DataGrid استفاده کرد؛و براي برقراري ارتباط دنبال FlexGrid نرفتم که ببينم چه طوريه.

از DataGrid استفاده کنيد.



موفق باشيد

----------


## Javad-2010

با سلام ؛
لطفا اگه کسی میتونه *اینجا* یه راهنمایی بکنه.

----------


## gohari244

سلام دوستان 
1-کسی می دونه با چه دستوری رکوردی از جدول حذف کنیم که همون رکورد داخل بانک نیز حذف شود
2-چطور میشه با یک دستور از سلولی به سلول بعد رفته و متن اون سلول به حالت انتخاب در بیاد

----------


## Javad-2010

با سلام ؛
کاربرد هر یک از موارد زیر چیست و چه فرقی بین آنهاست ؟؟؟
vsflex8.ocx
vsflex8d.ocx
vsflex8l.ocx
vsflex8n.ocx
vsflex8u.ocx
vsstr8.ocx

----------


## gohari244

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

لطفا جواب سوالات منو بدین

----------


## nazanin_90

سلام به اساتید محترم
همانطور که در تصویر ضمیمه ملاحظه می فرمائید عنوان ستون اول و سوم بعلت کاهش عرض ستون به صورت کامل معلوم نیست.
آیا خصوصیت justify (آنطور که در ورد و اکسل هست) برای متون گرید وجود دارد که در صورت افزایش متن نسبت به عرض ستون ، متن بشکند و اضافه آن در زیر آن نوشته شود؟
باتشکر

----------


## hrj1981

در جدول Properties مربوط به گريد خودتان گزينه WordWrap را برابر با True قرار دهيد

----------


## hrj1981

بله همه قسمتهاي گريد قابل تغيير هستند ،رنگ و فونت 99 درصد قسمتهاي گريد را ميتوني از همون Properties  تغيير بدي ، فقط در رابطه با ستون ها و بعضي قسمتها بايد با كد نويسي انجام بدي

----------


## nazanin_90

> بله همه قسمتهاي گريد قابل تغيير هستند ،رنگ و فونت 99 درصد قسمتهاي گريد را ميتوني از همون Properties تغيير بدي ، فقط در رابطه با ستون ها و بعضي قسمتها بايد با كد نويسي انجام بدي


سلام و با عرض پوزش از شما جناب hrj1981 !
قبل از اینکه پاسخ شما را ببینم اشتباهاً بجای تغییر سؤال آن راحذف کردم.
ضمناً بابت پاسخ هم ممنونم

----------


## mostabed

سلام به دوستان
خواستم ببینم میشه یه جستجوی واژه تو این گریدها ایجاد کرد بصورتی که با تایپ درون تکست باکس بصورت اتومات تو گرید پیدا کنه یه چیزی شبیه اتو سرچ خودش اما توی یه تکس باکس
ممنون

----------


## hamidsajjadieh

با سلام

وقتی در flexgrid متنی را تایپ میکنم (به عنوان جستجو) و البته حالت AutoSearch اون روی 1 یا 2 تنظیم شده باشه ، اون متن را در flexgrid اگه باشه سلکت میکنه ولی فوکوس روی اون ردیف نمیره.میخوام بدونم که چطوری میشه فوکوس را روی اون ردیف یا سلول برد.

----------


## mohammadmowlavi

سلام فایل نصب و راهنمای این کامپوننت رو قرار نمیدید

----------


## RAMA2009

سلام لطفا این کامپوننت رو قرار میدید دانلود کنیم؟
من ندارمش

----------


## RAMA2009

130 تا پست گذاشتین راجع به این کنترل سوال کردین!
یعنی یکی نیست این کنترل رو ارائه بده؟!!!
توی اینترنت و منابع خارجی جستجو کردم، ولی رایگان نیستند و کد لایسنس ندارن.
از دوستان عزیز خواهش میکنم اگر کسی این کنترل رو داره ارائه بده لطفا.

----------


## jafar_ho

لينک دانلود بود توي پستها
ولي باز قرار ميدم ر ج ي س تر شدشو!

----------


## gohari244

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

----------


## hamed747

سلام
ببخشید من از این کامپوننت میخوام استفاده کنم
اما این ارور رو میده 
باید چیکار کنم؟
http://www.upweblog.com/do.php?imgf=Capture.jpg

----------


## Dr.Bronx

Run رو باز کنید و بنویسید : 

regsvr32 vsflex8u.ocx

موفق باشید ./

----------


## mohammadmowlavi

سلام چطور میشه یه پرینت سفارشی از این کامپوننت داشن منظورم هیدر و فوتر هست

----------


## mohamadm147

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

----------


## butterfly8528

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


سلام.
تمام نیاز های شما با استفاده از رویداد Click گرید و پاس دادن مقادیر سلول های آن بین فرم های برنامه، با استفاده از خاصیت TextMatrix گرید، برطرف خواهد شد.

----------


## ars2000

ضمن عرض سلام و خسته نباشی به همه شما کاربران عزیز
من دارم روی یه برنامه گرافیکی کار میکنم که توی یکدونه از فرمهای اون عکس و جدولی باز بشه که دارای چهار ستون باشه (ردیف-رنگ-کد رنگOle-وتعداد) که تموم رنگهای غیر تکراری در سلهای اون مشخص بشه و چون پیکسلها از 16777215 رنگ RGB تشکیل شده سلهای جدول باید رنگی باشه بمن گفتن تنها جدولی که بشه سلهای اونو  با کد نویسی رنگی کرد VSFlexGrid هست ولی میخوام اول مطمعن بشم اگه چنین کاری میشه با این کامپوننت انجام داد روش کار  و تحقیق کنم دوم اینکه از چه کدی برای رد کردن پیکسلهای تکراری استفاده کنم که سرعت من پایین نباشه قبلا از حلقه ها استفاده کردم ولی بعلت بالا بودن تعداد پیکساها برنامه هنگ میکنه ممنون میشم اگه مسیر درست رو بمن بگین  در ضمن مشابه این کاری که میخوام بکنم بصورت فایل Exe هست  ضمیمه میکنم ولی من میخوام سورس اونو با کمی تغیرات تو پروژه ام بنویسم.     با تشکر
 :خجالت: http://www.downloadha.com/tag/%D8%A8...colors-finder/

----------


## ars2000

> چطوری میشه توی vsflex از CheckBox استفاده کرد؟؟؟


سلام با کد زیر میتونی در هر ردیف textBox رو به شش نوع مختلف فعال کنیVS.CellChecked =flexCheckedVS.CellChecked = flexNoCheckboxVS.CellChecked =flexTSCheckedVS.CellChecked =flexTSGrayedVS.CellChecked = flexTSUncheckedVS.CellChecked =flexUncheckedوقتی هر کدوم از اونا رو اجرا کنید متوجه فرقشون میشین.

----------


## hamed_vb

سلام دوستان من یک فاکتور فروش میخوام طراحی کنم ولی دچار مشکل شدم
مشکلمم اینه که میخوام وقتی یک کالایی رو وارد میکنم اگر از اون کالا موجود باشه تعداد جدید رو با قبلی جمع کنه 
یعنی از یک جنس دوبار در فاکتور ذکر نشه 
میشه کمکم کنین؟
سورسشم اینه

----------


## ahyousefi2

سلام دوستان عزیز
شرمنده مزاحم شما شدم
یک سوال داشتم 
من به تازگی از VSFlexGrid دارم استفاده می کنم

توی دو قسمت مشکل دارم

اول اینکه توی VSFlexGrid برای مثلا 5 تا رکورد ذخیره شده نمایش داده میشه من رکورد پنجم را که انتخاب می کنم رکورد اول پاک میشه. نمی دونم چرا چیزیم پیدا نکردم تا مشکل رو حل کنم

مشکل دوم برای مثال وقتی رکورد حذف میشه VSFlexGrid ریفرش نمیشه

ممنون میشم کمکم کنید

نمونه کدی که من نوشتم:

    Me.Adodc1.Refresh
    Me.Adodc1.Recordset.Delete
    Me.Adodc1.Recordset.Update



    Me.VSFlexGrid1.RowHeight(0) = 500

    Me.VSFlexGrid1.ColWidth(0) = 500
    Me.VSFlexGrid1.ColHidden(1) = True
    Me.VSFlexGrid1.ColWidth(2) = 2000
    Me.VSFlexGrid1.ColWidth(3) = 2000
    Me.VSFlexGrid1.ColWidth(4) = 3000
    Me.VSFlexGrid1.ColWidth(5) = 2000
    Me.VSFlexGrid1.ColWidth(6) = 2000
    Me.VSFlexGrid1.ColWidth(7) = 2000
    Me.VSFlexGrid1.ColWidth(8) = 10000
    Me.VSFlexGrid1.ColWidth(9) = 2000

    Me.VSFlexGrid1.ColAlignment(0) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(1) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(2) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(3) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(4) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(5) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(6) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(7) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(8) = flexAlignCenterCenter
    Me.VSFlexGrid1.ColAlignment(9) = flexAlignCenterCenter

    For i = 1 To Adodc1.Recordset.RecordCount
        Me.VSFlexGrid1.TextMatrix(i, 0) = i
    Next i

----------

