<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual Basic 6.0</title><link>https://www.dotnetzone.gr:443/cs/forums/25/ShowForum.aspx</link><description>Θέματα που αφορούν την VB6 και COM components</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: Bookmarking in Vsflexgrid6 της VideoSoft in VB6</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1348.aspx</link><pubDate>Fri, 04 Mar 2005 12:31:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1348</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1348.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=1348</wfw:commentRss><description>Εδώ σου έχω συνημένο ένα παράδειγμα (demoVSFlexGrid.zip) για να δεις πως μπορείς να περάσεις τα προβλήματα σου. Δεν χρησιμοποιεί το VideoSoft FlexGrid αλλά το MS Hierarchical FlexGrid που η MS έχει κάνει license από την VideoSoft. Λογικά πρέπει να είναι τα ίδια πάνω κάτω και να μην χρειάζεται πολλές αλλαγές...&lt;br /&gt;&lt;br /&gt;Μερικές εξηγήσεις...&lt;br /&gt;&lt;br /&gt;Έχω χρησιμοποιήσει SQL Server και την Northwind Database για να μπορέσεις να δεις το παράδειγμα. Αν δεν έχεις SQL μπορείς να χρησιμοποιήσεις την MS Access αντίστοιχη βάση για να το τρέξεις.&lt;br /&gt;&lt;br /&gt;Το διπλό κλικ επάνω στο Grid...&lt;br /&gt;&lt;br /&gt;&lt;pre class="source"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt;&lt;br/&gt;Private Sub MSHFlexGrid_DblClick()&lt;br/&gt;Dim oForm As demoVSFlexGrid.frmForm&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If MSHFlexGrid.MouseRow &amp;gt;= MSHFlexGrid.FixedRows Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oForm = New demoVSFlexGrid.frmForm&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oForm.FKEmployeeID = CLng(MSHFlexGrid.TextMatrix(MSHFlexGrid.MouseRow, 0))&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call oForm.Show(vbModal)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call Unload(oForm)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set oForm = Nothing&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call oRecordset.Requery&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call doBindGrid&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call doSortGrid&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/pre&gt;&lt;pre class="source"&gt;End Sub&lt;br/&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/pre&gt;Αυτό είναι το Double Click πάνω στο Grid. Αν είναι άλλη από την πρώτη γραμμή που έχει τα ονόματα των στηλών, βρήσκει το EmployeeID και το περνάει στην modal φόρμα που θα ανοίξει για να διορθώσει το Record. Όταν επιστρέψει ανανεώνει το recordset για να πάρει τυχόν αλλαγές και το ξαναφορτώνει στο grid.&lt;br /&gt;&lt;br /&gt;Αν είναι η πρώτη γραμμή τότε sortάρει το Grid.&lt;br /&gt;&lt;br /&gt;Πως ταξινομούμε το Grid...&lt;br /&gt;&lt;br /&gt;&lt;pre class="source"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt;&lt;br/&gt;Private Sub doSortGrid()&lt;br/&gt;Dim iSortMethod As Integer&lt;br/&gt;Dim iEmployeeID As Integer&lt;br/&gt;Dim iCounter As Integer&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iOldSortColumn &amp;lt;&amp;gt; MSHFlexGrid.MouseCol Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iSortMethod = flexSortGenericAscending&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iSortMethod = flexSortGenericAscending Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iSortMethod = flexSortGenericDescending&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iSortMethod = flexSortGenericAscending&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iOldSortColumn = MSHFlexGrid.MouseCol&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; With MSHFlexGrid&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Redraw = False&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iEmployeeID = CLng(MSHFlexGrid.TextMatrix(MSHFlexGrid.Row, 0))&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Col = iOldSortColumn&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Sort = iSortMethod&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iCounter = 1 To MSHFlexGrid.Rows&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If CLng(MSHFlexGrid.TextMatrix(iCounter, 0)) = iEmployeeID Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Row = iCounter&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iCounter &amp;gt; MSHFlexGrid.Rows Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Row = 1&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Col = 0&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ColSel = .Cols - 1&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Redraw = True&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End With&lt;/pre&gt;&lt;pre class="source"&gt;End Sub&lt;br/&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/pre&gt;Αυτό που κάνω είναι να μην αφήνω το χρήστη να βλέπει τις αλλάγες που κάνω (Redraw=False) στην συνέχεια βλέπω ποιος είναι ο χρήστης από την κρυφή στήλη με το EmployeeID, ταξινομώ το Grid όπως θέλω και μετά ψάχνω να βρω την γραμμή με το EmployeeID και να την κάνω Highlight. Στο τέλος εμφανίζω το αποτέλεσμα στο χρήστη.&lt;br /&gt;&lt;br /&gt;Πως δένω το Recordset με το Grid...&lt;br /&gt;&lt;br /&gt;&lt;pre class="source"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt;&lt;br/&gt;Private Sub doBindGrid()&lt;br/&gt;Dim iEmployeeID As Integer&lt;br/&gt;Dim iCounter As Integer&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If MSHFlexGrid.Row &amp;gt; 0 Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNumeric(MSHFlexGrid.TextMatrix(MSHFlexGrid.Row, 0)) Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iEmployeeID = CLng(MSHFlexGrid.TextMatrix(MSHFlexGrid.Row, 0))&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set MSHFlexGrid.DataSource = oRecordset&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; With MSHFlexGrid&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Redraw = False&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .FormatString = "|Τίτλος|Επίθετο|Όνομα|Θέση"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ColWidth(0) = 60&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ColWidth(1) = 600&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ColWidth(2) = 1500&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ColWidth(3) = 1000&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ColWidth(4) = 2000&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iEmployeeID &amp;gt; 0 Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iCounter = 1 To MSHFlexGrid.Rows&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If CLng(MSHFlexGrid.TextMatrix(iCounter, 0)) = iEmployeeID Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Row = iCounter&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iCounter &amp;gt; MSHFlexGrid.Rows Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Row = 1&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Row = 1&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Col = 0&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ColSel = .Cols - 1&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Redraw = True&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End With&lt;br/&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/pre&gt;Αυτό που με ενδιαφέρει εδώ πριν ανανεώσω τα δεδομένα του Grid είναι να βρω, αν υπάρχει επελεγμένος κάποιος εργαζόμενος. Αν υπάρχει αποθηκεύω το EmployeeID για να τον ξαναβρώ. Ανανεώνω τα δεδομένα του Grid&amp;nbsp;στη συνέχεια ξαναφτιάχνω τις ετικέτες στις στήλες και τα πλάτη τους και αν έχω EmployeeID το βρήσκω ή αλλιώς δείχνω την πρώτη γραμμή του Grid.&lt;br /&gt;&lt;br /&gt;Το παράδειγμα είναι λειτουργικό αλλά δεν είναι 100% ελεγμένο για λάθη, ούτε 100% τελιωμένο στην φόρμα που βγαίνει να διορθώσει το Record του εργαζόμενου.&lt;br /&gt;&lt;br /&gt;HTH,&lt;br /&gt;George J.&lt;br /&gt;</description></item><item><title>Re: Bookmarking in Vsflexgrid6 της VideoSoft in VB6</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1347.aspx</link><pubDate>Fri, 04 Mar 2005 07:07:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1347</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1347.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=1347</wfw:commentRss><description>&lt;p&gt;Υποθέτω ότι το grid είναι είτε databound είτε το ανανεώνεις μετά το edit. Διαφορετικά θα μπορούσες απλά να περάσεις τις τιμές της φόρμας στα κελιά του selection.&lt;br /&gt;&lt;br /&gt;Το grid δεν έχει κάποιο τρόπο να καταλάβει ποιά γραμμή είναι ποιά όταν το ξαναφορτώνεις. Αν το grid καταλάβαινε από primary keys, αυτό ίσως γινόταν, αλλά αυτό δεν συμβαίνει. Εξάλλου, μπορεί το recordset που χρησιμοποιείς να μην περιέχει Primary key. Αυτό που μπορείς να κάνεις είναι να βρεις ποιά πεδία προσδιορίζουν τη γραμμή (primary key, unique πεδίο, συνδιασμός πεδίων κλπ) και να αποθηκεύσεις την τιμή τους πριν γίνει refresh. Μετά το refresh, μπορείς να χρησιμοποιήσεις την FindRow για να βρεις τη γραμμή που&amp;nbsp;αντιστοιχεί στα πεδία-κλειδιά και να την&amp;nbsp;επιλέξεις με το Select.&amp;nbsp;Η έκδοση 8 έχει δύο events, το BeforeDataRefresh και AfterDataRefresh, αλλά δεν ξέρω αν αυτά υπήρχαν στην έκδοση 6.&lt;/p&gt;</description></item><item><title>Bookmarking in Vsflexgrid6 της VideoSoft in VB6</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1345.aspx</link><pubDate>Fri, 04 Mar 2005 04:52:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1345</guid><dc:creator>Papakis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1345.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=1345</wfw:commentRss><description>&lt;p align="justify"&gt;Υπάρχει κάποιος τρόπος να κρατήσουμε το Bookmark στο VSFlexGrid 6&lt;br /&gt;Ουσιαστικά αυτό που θέλω να κάνω είναι το εξής.&lt;br /&gt;Σε ένα VSFlex έχω για παραδειγμα όλους τους πελάτες μου. Mε Double Click κάνω edit τα στοιχεία κάποιου (μην πεί κανένας ξύπνιος πάνω στο grid, γιατί αν έχω 3 διευθύνσεις και 7 τηλεφώνα τί μέλλει γενέσθαι?). Αφού κάνω την καταχώρηση στην modal form θα πρέπει να ξαναγυρίσω στην φόρμα με τα συγκεντρωτικά στοιχεία. Σ' αυτό το σημείο θα ήθελα να πώ ότι το grid γίνεται initalize και updated με τα στοιχεία που άλλαξα. Αποτέλεσμα αυτού του γεγονότος είναι το grid να επιλέγει και εμφανίζει την πρώτη γραμμή. Μια λύση που βρήκα είναι να εφαρμόζω τη μέθοδο grid.Select intRow όπου intRow είναι η επιλεχθείσα γραμμη πριν γίνει το&amp;nbsp;Double Click. Αυτό έχει ως αποτέλεσμα 2 μειονεκτήματα &lt;br /&gt;1) Να μην εμφανίζει στο χρήστη τον επιλεγέντα πελάτη - με αποτέλεσμα να "σκρολλάρει" προς τα κάτω για να βρεί τον πελάτη που έχει γίνει η αλλαγη (παρ' όλα αυτά ο πελάτης έχει επιλεγεί σωστα) και &lt;br /&gt;2) Αν ο&amp;nbsp;χρήστης εφαρμόσει καποια ταξινόμηση στα περιεχόμενα του grid (Click στη fixed row)&amp;nbsp;τότε χάνεται και η επιλεγείσα γραμμή&amp;nbsp;&amp;nbsp;&lt;br /&gt;Υπάρχει κάποια μέθοδος eσωτερική του grid ή κάποιο code example &lt;br /&gt;&lt;br /&gt;Ευχαριστώ&lt;br /&gt;Papakis&lt;/p&gt;</description></item></channel></rss>