چطوری میشه توی vsflex از CheckBox استفاده کرد؟؟؟
چطوری میشه توی vsflex از CheckBox استفاده کرد؟؟؟
با سلام
سئوال اولم این است که چطور می توانم با کلیک در سر ستون، دیتابیس را نیز سورت کنم .
البته کد زیر این کار را انجام می دهد ولی با فونت فارسی مشکل دارد.
LastSort = "[" & VSFlexGrid1.TextMatrix(0, Col) & "]" & IIf(Order = 1, " ASC", " DESC")
Adodc1.Recordset.Sort = LastSort
این کد را یکی از اعضای همین سایت قرارداده است.
سئوال دوم من این است که مثل نرم افزار همکاران سیستم و هلو و سنجه چطور می توانم مستقیماً از قابلیتهای allowaddnew , allowedit در این grid با توجه به ایجاد متغیرها استفاده کنم.من با استفادهاز جدول موقت این کار را انجام دادم. ولی موقعی که با استفاده از صفحه کلید با کلید های جهت دار یا arrow keyمی خواهم یک سطر را اضافه یا حذف کنم به مشکل برمی خودم.
برای سورت کردن grid می تونی در پروپرتی گرید گزینه explorerbar را برابر عدد 7 بگذاری تا با کیلیک بر روی سر ستون گرید سورت شود
زمانی که با بانک اطلاعاتی در حالت datamode برابر با 2 باشد یا باند باشد نمی توان ار این گزینه استفاده کرد.
دوست عزیز چه جوری میشه جدول رو بر اساس یکی از دریف ها مثلا ردیف اول که شماره پرسنلی افراد هست از بزرگ به کوچیک یا بالعکس سرت کرد.
VSFlexGrid1.ColWidth(0) = 810
VSFlexGrid1.Cell(flexcpChecked, VSFlexGrid1.Row, 1) = flexcpChecked
با دستور vsflexgrid1.printgrid اطلاعاتم رو چاپ می کنم. چطوری می تونم بالای صفحه ای که چاپ میشه عنوان قرار بدم؟ مثلا بنویسه: " فرم شماره 1 " و بعد گرید رو چاپ کنه.
سلام
بچه ها من می خوام
توی فلکسی گرید هر سطرو با یه رنگ نشون بده به شرطی که فیلد رزرو جدولم 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
چه ها خو.اهش میکنم کمکم کنین
عجله دارم یه عالمه
ممنون از همتون
سلام
من با کد زیر 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 شده
آخرین ویرایش به وسیله skh1300 : شنبه 27 شهریور 1389 در 09:10 صبح
سلام دوست عزیز .سلام
من با کد زیر vs1 خودم را پر می کنم
کد PHP:
dim x as integer
کد PHP:
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
و با کد زیر برای انتخاب استفاده می کنم
کد PHP:
x = x + 10
vs1.Select x, 0, x, 1
خوب حالا یه مشکلی هست موقعی که من اطلاعات را select میکنم اسکرولبار به پایین هدایت نمیشه و کاربر نمیفهمه که کدام رکورد select شده
انگار متاسفانه سوال شما رو خیلی دیر دیدم . اما به هر حال جواب شما به صورت زیر هست .
VS.Row = VS.Rows - 1
VS.TopRow = VS.Rows - 1
موفق باشید .
سلام .
چطور باید متن Fixed Column ها رو در حالت Design Time و بدون کد نویسی تغییر داد ؟
یعنی معادل این کد : "vs.TextMatrix(0, 1) = "Barnamenevis
آيا ميشه داخل هر خانه ي vsgride يك چك باكس گذاشت؟؟؟؟
و همينطور می خوام اطلاعات از VSFlexGRid بصورت کلی در پایگاه داده ثبت کنم نه بصورت تک تک یعنی در gridam تعداد 10 تا رکورد وارد کنم بعد در پایگاه داده ذخیره کنم . لطفا راهنمایی کنید .
آخرین ویرایش به وسیله khormaloo : پنج شنبه 30 دی 1389 در 10:52 صبح
دوستان وقتی در داخل DataGrid یک سطر رو انتخاب می کنیم داخل Adodc هم همون سطر انخاب میشه حالا این کار رو با VSFlexGrid هم میشود انجام داد
سلام دوستان.
امیدوارم سوالم را در جای صحیح مطرح کرده باشم.
چگونه می توان محتویات VsFlexGrid که بصورت درختی است در بانک اطلاعاتی ذخیره کرد و سپس آنرا از بانک خواند (مانند کنترل TreeView).
vs.ColEditMask(2) = "####/##/##"
اگر فايل setup كامپوننت رو داشته باشيد و نصب كنيد روي vs راست كليك و properties مي زنيد امكانات بيشتري داريد كه يكيش همينه .چطور باید متن Fixed Column ها رو در حالت Design Time و بدون کد نویسی تغییر داد ؟
یعنی معادل این کد : "vs.TextMatrix(0, 1) = "Barnamenevis
گذاشتن Checkbox در Flexgrid
سلام خدمت دوستان و اساتید محترم
می خواستم بدونم چطور می تونم تو یکی از ستون های Flexgrid یه Checkbox قرار بدم
ممنون میشم اگه جوابمو بدید
سلام دوستان. من تو برنامم از يه datagrid استفاده كردم كه با اين دستور داده ها رو از جدولم ميخونه: Grid1.DataSource = rs (كه rs يه ركورد سته). حالا مشكل اينجاست كه وقتي گريدم داخلش ركورد هست و ميخام اونا پاك بشن و يه ركوردهاي ديگه رو نشون بده اين اررو رو ميده: object already loaded روي همون دستور بالا. فكركنم كه بايد يه جوري datasourceشو پاك كنم و دوباره ست كنم ولي نميدونم چطوري؟
روش ثبت و ويرايش كل گيريد:
کد HTML: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
بازسازي و نمايش در گريد : مثال ...
کد HTML: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
روش حذف خالي كردن خانه هاي گريد با ذكر مثالي براي شما :
کد HTML: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
همچنين در روال ديگر عمليات حذف بعد از كليك و انتخاب رديفي از گريد ...
کد HTML: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 : پنج شنبه 21 مهر 1390 در 11:01 صبح
اينم تابع كه براي راحت شدن از شر كاما " " ' ' گذاري در دستورات SQL درست كردم " كه سورسهاي پستهاي پايينتر ازش استفاده كردم
کد HTML: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 ,
چطوری می شود درVSflexGrid یک ردیف ( سطر ) را با کلیک برروی آن انتخاب کرده وبعد آن ردیف را ویرایش کرد؟
سلام
چطور می شه در VSflexGrid با استفاده از کلیک راست سطر مورد نظر رو سلکت کنیم؟
یعنی بر روی هر سطر کلیک راست کردیم انتخاب بشه؟
سلام خانم وطن دوست . من میخوام داخل دیتابیسم یک فیلد بزارم که اگر مقدار این فیلد 1 باشد رنگ ردیف رکورد مربوط به آن در Vsflexgrid بشه قرمز اگه لطف کنید همراه با یک مثال برام بفرستید ممنون میشم
ثبت دیتا در بانک از Combo درون VSFlexGrid
سلام خدمت دوستان عزیز
برای اولین بار از کامپوننت VSFlexGrid 8 استفاده کردم و به جدولی در بانک متصل هست. هر سلول از VSFlexGrid رو به Combo تبدیل کردم، که وقتی تغییر میکنه باید توی رکورد مربوطه ثبت بشه.
لطفاً راهنمایی کنید
سلام،
از کد زیر استفاده کن. بعد از اینکه 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
سلام
من از vs خروجی اکسل میگیرم همه چی درسته فقط تاریخ رو به شکل زیر نشون میده .
این دستوری که دادمVS.SaveGrid "ex.xls", flexFileExcel, _
flexXLSaveFixedCells Or flexXLSaveRaw
به این شکل ###############
عکس
http://img4up.com/up2/78454471895425711356.jpg
سلام
کسی نیست جواب بده؟
یک سوال:
چطور میشه توی خود دیتاگرید مستقیم تایپ کرد واطلاعات همانجا توی بانک اطلاعاتی ذخیره بشه؟؟ حتی اگر خواستیم ادیت کنیم همین اتفاق بیفته؟؟
flex grid منظورمه
شرمنده اگه منظورمو بد بیان کردم
با سلام ؛
لطفا اگه کسی میتونه اینجا یه راهنمایی بکنه.
سلام دوستان
1-کسی می دونه با چه دستوری رکوردی از جدول حذف کنیم که همون رکورد داخل بانک نیز حذف شود
2-چطور میشه با یک دستور از سلولی به سلول بعد رفته و متن اون سلول به حالت انتخاب در بیاد