چطوری میشه توی vsflex از CheckBox استفاده کرد؟؟؟
Printable View
چطوری میشه توی 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 شده
سلام دوست عزیز .نقل قول:
سلام
من با کد زیر 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 تا رکورد وارد کنم بعد در پایگاه داده ذخیره کنم . لطفا راهنمایی کنید .
دوستان وقتی در داخل 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
اينم تابع كه براي راحت شدن از شر كاما " " ' ' گذاري در دستورات 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-چطور میشه با یک دستور از سلولی به سلول بعد رفته و متن اون سلول به حالت انتخاب در بیاد