سلام
چطوری میتونم ردیفهایی رو که از VsFelexGrid انتخاب و سلکت کردم به کریستال رپورت بفرستم برای نمایش و چاپ .
سلام
چطوری میتونم ردیفهایی رو که از VsFelexGrid انتخاب و سلکت کردم به کریستال رپورت بفرستم برای نمایش و چاپ .
این یک تیکه از کد مربوط به یک برنامه هست.
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 داره یا برعکس
موفق باشید
البته من هنوز کدها رو امتحان نکردم ولی من منظورم این بود که تعدادی از ردیفهای vs توسط کاربر در حالتی که برنامه اجرا شده است انتخاب شده و حالا میخواد این چند تا ردیفی رو که انتخاب کرده ازشون پرینت بگیره و فایلی هم که استفاده شده برای پرینت و نمایش کریستال هستش.این سطر ها رو رنگی می کنه و عدد 1 رو داخل یک فیلد در دیتابیس قرار میده
وقتی خواستید پرینت بگیرید بگید تمام اونایی که 1 داره یا برعکس
سلام
Tbl_Money این که باید اسم جدولت باشه و Sanad_RowSel اینم باید نام اون فیلد از جدول باشه که قرار 1 یا 0 توش ریخته بشه Sabt_Code این چیه، میشه بگی؟
بعد یک سوال دیگه آیا این کار باعث پایین اومدن سرعت برنامه نمیشه ؟ پایگاه برنامم Access هستش و نزدیک به 3500 تا هم رکورد داره .
تکرار سؤال: چطور میتوان چند ردیفی که کاربر انتخاب کرده (Select)، را هم از دیتابیس و هم از گرید حذف کرد. منظورم این است که چطور میتوان آن ردیفهای انتخاب شده را از VSFlexGrid بگیریم؟ کدام خصوصیت (Property) ردیفهای انتخاب شده را برمیگرداند؟
با vs.row شما می تونید شماره ردیف رو به دست بیارید
البته توجه داشته باشید که row از 1 شروع میشه
سلام
من یه 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
اگر 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
موفق باشید ./
پیغام خطا میده ؟
یا اصلا هیچ چیزی رو روی 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
خوب قطعا اشتباه هست
همین کد هارو اینطوری بنویسید
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
موفق باشید./
خیلی ممنون این بهتر شد چون برای خالی بودنش یه شرط می خواستم بزارم کار نمی کرد
خیلی ممنون
اما حالا یه سوال دیگه
اینکه چطوری می تونم عرض یه ستون رو زیاد کنم یعنی اندازه متن باشه؟
سلام
من از خاصیت RowColChange دیتاگرید برای انتخاب یک سطر و نمایش اطلاعات سطر select شده مثلا توی یه تکس باکس استفاده میکنم.اینطوری:
tbx_name.Text = Adodc1.Recordset.Fields("name")
میخوام ببینم توی vsflex چطور باید عمل کنم؟
هم می تونید از Rowchange و هم از Selchange استفاده کنید
موفق باشید ./
چگونه میتوان Format مربوط به یک ستون عددی که همیشه بایستی دو رقم بعد از ممیز را نمایش دهد به VSFlexGrid فهماند؛ البته علامت ممیز را به صورت / میخواهم. مثلا عدد 12.5 را به صورت 12/50 و عدد 11 را به صورت 11/00 نمایش دهد؟
سلام
شما باید از خاصیت ColFormat در گرید استفاده کنید.
مثلا در مورد flexgrid بنویسید:
flexgrid.ColFormat(1) = Format(Recordset!Total_Price, "#,##0;(#,##0)")فرمت و فیلد مورد نظر را در کد بالا جایگذاری میکنیم
از اینکه توجه کردین، خیلی ممنون. اما پاسخ شما عملی نیست متأسفانه. در حالت عادی برای دو رقم بعد از ممیز کافی است که چنین باشد:
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 ستوني رو جوري ست كنم كه فقط تاريخ فارسي قبول كنه ، آيا راهي داره ؟
سلام دوستان ، یک سوال فنی داشتم :
چه جوری میشه گریدی رو که به صورت Bound به دیتابیس وصل شده رو قابلیت Sort درش فعال کرد . یعنی Explorer = flexexsort کار کنه . می خوام روی Header هر ستون که کلیک کردم . بر اساس اون ترتیب بشه .
با سلام
برای دانلود سورس دفترچه تلفنی که با flex Grid نوشته بودم به سایت برنامه نویسان بروید
امید وارم خوشتون بیاد
http://www.barnamenevisan.net/showthread.php?t=126
اگه میتونید درباره ذخیره کردن به صورت XML و باز کردن آن توسط کریستال بیشتر توضیح بدید
یا یک نمونه برنامه بزارید که خودم اونو بررسی کنم.
راستش می خواستم برای محدود کردن چاپ از این روش استفاده کنم.
اگه منو راهنمایی کنید ممنون میشم.
VS.SaveGrid App.Path + "\a.xls", flexFileExcel
سلام دوستان عزیز و اساتید محترم یه سوال داشتم : چرا ردیف 0 یا همون تیتر flexgrid رو به اکسل پاس نمیکنه ؟ از ردیف 1 به اکسل میفرسته
آخرین ویرایش به وسیله niko2008 : چهارشنبه 15 اردیبهشت 1389 در 08:42 صبح دلیل: -
سلام : این برنامه شاید از نظر طراحی قشنگ نباشد ولی این برنامه برای ویدویو کلوپ کامل می باشد. امکانات :
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
آخرین ویرایش به وسیله vbnovin : یک شنبه 19 اردیبهشت 1389 در 00:08 صبح دلیل: warez activity
سلام خدمت اساتید محترم من چطور میتونم دو ردیف متفاوت از دو Vs Flex Grid متفاوت رو با هم مقایسه کنم و موارد غیر یکسان رو به listbox پاس بدم؟
آخرین ویرایش به وسیله niko2008 : دوشنبه 20 اردیبهشت 1389 در 14:32 عصر دلیل: -
چیش رو میخواید مقایسه کنید ؟
اطلاعات یک فیلد رو ؟
بیشتر توضیح بدید .
موفق باشید ./
دوست عزیز اطلاعات یک فیلد رو
در حقیقت من دوتا 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 : چهارشنبه 22 اردیبهشت 1389 در 21:28 عصر دلیل: -
یه 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
موفق باشید ./
خدمت شما دوست عزیز .
موفق باشید ./
سلام دوستان چطور میتونیم محتوای vsflexgrid رو به صورت مرتب به TXT فرستاد؟؟؟؟
سلام دوستان
من میخوام بعضی فیلدها فلکس رو بصورت کمبو استفاده کنم و محتویات آنها رو از sql بخونم ، اما به مشکل خوردم.
چون از colcombolist استفاده میکنم ولی فکر کنم باید درون یک حلقه باشد تا تموم رکوردها رو بخونه ، چون اینجوری فقط یک گزینه داره ، لطفا به من کمک کنید. ممنون
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 خاصی باشه؟ باز از وقتی که به من میزارین نهایت تشکر رو دارم
آقا من وقتي عنوان ستون هام رو به عنواين فارسي تغيير ميدم خيلي سرعت نمايشش كند ميشه
براي حل اين مشكل بايد چي كار كنم
يعني وقتي عنوان ستونم نام هست طول مي كشه ولي وقتي name طول نمي كشه
با تشكر
چجوری میشه انازه عرض ستون ها رو بصورت دستی عوض کرد. یعنی اندازه دلخواهی بهش داد؟؟؟