<?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>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47296.aspx</link><pubDate>Tue, 30 Dec 2008 19:34:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47296</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47296.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47296</wfw:commentRss><description>&lt;P&gt;Θα μπορούσες να δώσεις λίγο κώδικα;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Προσθήκη&lt;/U&gt;:&lt;/P&gt;
&lt;P&gt;Συγνώμη για το απανωτό editing, αλλά επειδή η αρχική ερώτηση αφορά στον clipboard, τι θα γίνει αν κλείσει η φόρμα από την οποία προέρχονται τα δεδομένα ή ακόμα και η ίδια η εφαρμογή; Ίσως να θέλουμε τα στοιχεία να μπορούν να ανακτηθούν πολύ αργότερα, εφόσον βέβαια συνεχίζουν να βρίσκονται στον clipboard. Αλλά ακόμα κι αν δεν υπάρχουν τέτοιες απαιτήσεις, λίγος κώδικας θα ξεκαθάριζε τα πράγματα.&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47295.aspx</link><pubDate>Tue, 30 Dec 2008 19:25:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47295</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47295.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47295</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Markos:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Και μιας και το θίξαμε, και η DataTable class κάνει implement και το ISerializable και το IXmlSerializable. Οπότε μπορούμε απλά να γράγουμε κατά το copy:&lt;/p&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;
&lt;/font&gt;&lt;/font&gt;&lt;p&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Clipboard&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.SetData(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"DataTable"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, table);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;και κατά το paste:&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;
&lt;/font&gt;&lt;/font&gt;&lt;p&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; newTable = (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Clipboard&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.GetData(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"DataTable"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Απείρως πιο απλός τρόπος...&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Δεν θα συνιστούσα αυτή τη λύση για μεταφορά αντικειμένων. Καταρχήν είναι πολύ πιο περίπλοκη από την απλή μεταφορά ενός ID. Μετά, αναγκάζει το UI να μετατρέψει ένα αντικείμενο σε πίνακα, παρακάμπτωντας το διαχωρισμό data layer από UI. Αυτό οδηγεί σε κακή σχεδίαση της εφαρμογής. Επιβαρύνει την εφαρμογή με τη δημιουργία τόσο του DataTable όσο και το κόστος του Serialization. Μεταφέρει πολλά περιττά δεδομένα καθώς η εφαρμογή ήδη έχει το αντικείμενο στη μνήμη. &lt;br&gt;Τελευταίο και κυριότερο, δεν μεταφέρει ολόκληρο το αντικείμενο. Δεν μεταφέρει properties τα οποία δεν είναι απλοί τύποι, δεν μεταφέρει private πεδία, δεν μεταφέρει relations και collections, δεν μεταφέρει με λίγα λόγια αυτά ακριβώς τα πράγματα που ενδιαφέρουν σε ένα αντικείμενο.&lt;br&gt;&lt;br&gt;Θα πρέπει να γίνει κατανοητό ότι άλλο αντικείμενο άλλο πίνακας. Το Linq to SQL κάνει ευκολότερη τη δημιουργία των αντικειμένων, δεν σου δίνει ένα νέο τρόπο να δουλεύεις με πίνακες. Η χρήση του ως ADO.NET δημιουργεί προβλήματα αλλά και έχει ως αποτέλεσμα να χάσει κανείς τα σημαντικότερα οφέλη του.&lt;br&gt;Όταν μιλάμε για μία εφαρμογή, είναι πανεύκολο να βρει κανείς ένα αντικείμενο γνωρίζοντας το ID του. Καταρχήν, το DataContext κρατάει όλα τα αντικείμενα που έχει δημιουργήσει στη μνήμη και έτσι μπορεί να επιστρέψει άμεσα ένα αντικείμενο χωρίς να το ξαναδημιουργήσει. Ακόμα όμως και αν η κάθε φόρμα χρησιμοποιεί διαφορετικό datacontext, μπορούν να χρησιμοποιήσουν ένα κοινό Dictionary ως cache για να βρίσκουν τα κοινά αντικείμενα. Ακόμα κι αυτό όμως είναι περιττό, καθώς υπάρχει μία ακόμα απλούστερη λύση.&lt;br&gt;&lt;br&gt;Πολύ απλά, η φόρμα από την οποία ξεκινάει το copy βάζει σε μία δική της private μεταβλητή το αντικείμενο. Η φόρμα στην οποία θα καταλήξη το copy θα ζητήσει από την αρχική φόρμα να της δώσει το αντικείμενο. Το μόνο που χρειάζεται να μεταφερθεί μέσω clipboard (και αν!) είναι το όνομα της αρχικής φόρμας. &lt;br&gt;Το "και άν" αναφέρεται στο γεγονός ότι το clipboard τελικά δεν χρειάζεται καν να παρεμβληθεί στη διαδικασία. Η αρχική φόρμα μπορεί όταν ξεκινήσει το copy να βάλει σε μία κοινά προσβάσιμη μεταβλητή το αντικείμενο και η τελική φόρμα να το πάρει από εκεί. &lt;br&gt;Τέλος, μπορεί για όλη τη δουλειά να αρκούν τα DragDrop events των διαφόρων controls. Σε αυτή την περίπτωση μπορεί άνετα το control προορισμού να δει από που ξεκίνησε το copy απλά κοιτάζοντας την παράμετρο sender.&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47271.aspx</link><pubDate>Tue, 30 Dec 2008 01:24:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47271</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47271.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47271</wfw:commentRss><description>&lt;P&gt;ayto itan&lt;/P&gt;&lt;P&gt;TNX man.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edit:&lt;/P&gt;&lt;P&gt;Με βολευει να εχω ολο το αντικειμενο ακομα και με τα "περιτα" χαρακτιριστηκα του. σας ευχαριστω για το ενδιαφερον και τις διαφορετικες "ματιες" στο θεμα, ολα ειναι υπο ελεγχο και υπο εξεταση αν κατι αλλαξει στις εντολες μου.&lt;/P&gt;&lt;P&gt;λυπαμε αλλα κωδικα δεν μπορω να δωσω. και γιατι ειναι θεμα δικαιομάτων που δεν μπορω να παρακουσω, και κυριως ειναι ενα μικρο κομματι αλλα για να δουλεψει στο τελικη του μορφη θελει ολοκληρο το solution.&lt;/P&gt;&lt;P&gt;η λυση του μαρκου ως datatable με υπερ καληπτει και εχω ως εναλακτικη τα ID pou dinei h LINQ sto Object.&lt;/P&gt;&lt;P&gt;και παλι ευχαριστω.&lt;/P&gt;&lt;P&gt;καλη χρονια.&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47270.aspx</link><pubDate>Tue, 30 Dec 2008 01:11:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47270</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47270.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47270</wfw:commentRss><description>&lt;P&gt;Και μιας και το θίξαμε, και η DataTable class κάνει implement και το ISerializable και το IXmlSerializable. Οπότε μπορούμε απλά να γράγουμε κατά το copy:&lt;/P&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;
&lt;P&gt;Clipboard&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.SetData(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"DataTable"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;, table);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;και κατά το paste:&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;
&lt;P&gt;DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; newTable = (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;) &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Clipboard&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.GetData(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"DataTable"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Απείρως πιο απλός τρόπος...&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47236.aspx</link><pubDate>Sun, 28 Dec 2008 23:02:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47236</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47236.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47236</wfw:commentRss><description>&lt;P&gt;Ναι έχεις δίκιο για τα treenodes. Μάλιστα αυτό που λες τεκμηριώνεται κι &lt;A href="http://weblogs.asp.net/andrewrea/archive/2008/02/18/add-object-to-clipboard-using-c-in-a-couple-of-ways.aspx"&gt;εδώ&lt;/A&gt;. Όμως, θα σε παραπέμψω πάλι στο αρχικό μου post. Εκεί σου αναφέρω ότι '&lt;EM&gt;Objects placed on the clipboard must be serializable.&lt;/EM&gt;' Το πιο πιθανό είναι η treenode class να είναι serializable. Για να είμαι ειλικρινής, δε βρήκα άλλη ερμηνεία μιας&amp;nbsp;και το treenode δεν υπάρχει στα DataFormats. Ελλείψει, λοιπόν, άλλης εξήγησης καταλήγω στο συμπέρασμα που σου ανέφερα.&lt;/P&gt;
&lt;P&gt;Επίσης σκέφτηκα λίγο και πάνω στη λύση που σου προτείνει ο Παναγιώτης. Δηλαδή να κάνεις copy μόνο τα IDs και στη συνέχεια να ξαναφορτώσεις τα δεδομένα. Όταν το διάβασα αρχικά, το βρήκα πολύ καλή ιδέα και ένα έξυπνο workaround. Έτσι, όμως, ίσως αντιμετωπίσεις άλλα προβλήματα. Για παράδειγμα, τι θα συμβεί αν μεταξύ copy και paste (που γίνονται σε εντελώς διαφορετικές χρονικές στιγμές μη ελεγχόμενες από εσένα) τα δεδομένα αλλάξουν; Ο χρήστης έχει συνηθίσει όταν κάνει copy - paste να παίρνει στο paste τα αρχικά του δεδομένα. Αυτό με έχει σώσει πολλές φορές. Για παράδειγμα, κάνω paste κώδικα από το internet, τον τροποποιώ και στη συνέχεια το μετανιώνω. Ξέρω ότι ο αρχικός είναι στον clipboard και δε ψάχνω πάλι την&amp;nbsp;σελίδα που τον βρήκα.&lt;/P&gt;
&lt;P&gt;Δε ξέρω αν είναι υποχρεωτικό να έχει η εφαρμογή σου αυτού του είδους τη λειτουργικότητα (copy - paste). Αλλά αν αποφασίσεις ότι πρέπει να την έχει, ίσως θα πρέπει να πάψεις να ψάχνεις για shortcuts και να την υλοποιήσεις όπως πρέπει. Αν ο βαθμός δυσκολίας είναι μεγάλος ίσως θα πρέπει να αναθεωρηθεί το χρονοδιάγραμμα ή/και αυτή καθ' εαυτή η λειτουργία του copy - paste.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Update:&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Αντιγράφω από το &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.forms.treenode.aspx"&gt;documentation&lt;/A&gt; της treenode που κοίταξα μόλις τώρα (βλακεία μου που δεν το κοίταξα νωρίτερα):&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Notes to Inheritors: &lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Because the &lt;SPAN&gt;&lt;SPAN class=selflink&gt;&lt;STRONG&gt;TreeNode&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; class implements the &lt;SPAN&gt;&lt;A id=ctl00_rs1_mainContentContainer_ctl91 href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx"&gt;&lt;FONT color=#0033cc&gt;ISerializable&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt; interface, derived classes intended to be serializable must also implement this interface and special constructors as described in &lt;SPAN&gt;&lt;A id=ctl00_rs1_mainContentContainer_ctl92 href="http://msdn.microsoft.com/en-us/library/ty01x675.aspx"&gt;&lt;FONT color=#0033cc&gt;Custom Serialization&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;. &lt;/EM&gt;&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47235.aspx</link><pubDate>Sun, 28 Dec 2008 22:12:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47235</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47235.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47235</wfw:commentRss><description>&lt;P&gt;κοιτα για να ειμαι ειληκρινης copy-paste κωδικα δεν δουλευω ποτε, τον διαβαζω και προσπαθω να κανω τον δικο μου, αλιος δεν μαθαινεις.(ασε που γραφω vb.net)&lt;/P&gt;&lt;P&gt;οποτε μην τρελαινεσαι για 1-2 διορθωσης.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;στο θεμα μας ομως, ειπατε οτι προσπαθω να περασω στο clipboard αντικειμενα και συγκεκριμενα format για τα οποια δεν εχει σχεδιαστει!&lt;/P&gt;&lt;P&gt;εξιγιστε μου λιγο γιατι παραδhγμα αμα περασω ενα treenode με ενα απλο τροπο clipboard.SetData("TreeNode",myNode) και το διαβασω επισεις με τον ευκολο τροπο: &lt;/P&gt;&lt;P&gt;Dim MyNode as treeNode=Clipoboard.GetData("TreeNode") &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ολα  ερχονται κανονικοτατα!&lt;/STRONG&gt;? ουτε serialization ουτε csv ουτε τιποτα τοτοιο.&lt;/P&gt;&lt;P&gt;το παραδειγμα με το treenode ειναι τυχαιο.&lt;/P&gt;&lt;P&gt;αν μπορουσα να βρω πως λεγεται το format του List (of Object) ως string κατι μου λεει οτι θα την εκανα την δουλεια μου. εκτος κι αν επεσα στην περιπτωση που τετοιου ιδους αντικειμενα ΔΕΝ μπορει να τα μεταφερει.&lt;/P&gt;&lt;P&gt;σας αφηνω να πειραματιστω και με αυτα που μου δωσατε.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tnx again&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47225.aspx</link><pubDate>Sun, 28 Dec 2008 10:51:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47225</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47225.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47225</wfw:commentRss><description>&lt;P&gt;Second Thought...&lt;/P&gt;
&lt;P&gt;Δε νομίζω ότι έχω κανένα όφελος αν κάνω το unboxing manually τη στιγμή που έτσι κι αλλιώς κατά το assignment:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#008000&gt;&lt;FONT color=#000000&gt;dr[propInfo[ i ].Name] = something;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;η τιμή γίνεται πάλι boxed σε object. Συνεπώς, μάλλον επεμβαίνω σε βάρος της επεξεργασίας παρά τη διευκολύνω. Μάλιστα και ο όρος AutoUnboxing είναι ατυχής. Implicit Unboxing είναι πιο σωστό, αν και αυτός ο όρος είναι επίσης δόκιμος. Εσείς τι λέτε;&lt;/P&gt;
&lt;P&gt;Αν συμφωνείτε με τα παραπάνω, να κάνω editing στον κώδικα και να τον διορθώσω.&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47190.aspx</link><pubDate>Sun, 28 Dec 2008 02:07:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47190</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47190.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47190</wfw:commentRss><description>The XmlSerializer cannot serialize or deserialize the following: &lt;BR&gt;&lt;BR&gt;Arrays of ArrayList &lt;BR&gt;&lt;BR&gt;Arrays of List(T))&lt;BR&gt;&lt;P&gt;&lt;BR&gt;&lt;/P&gt;&lt;P&gt;Μαρκο σε ευχαριστω θα ριξω μια ματια και στα links, αν γινοταν το παραπανω θα ηταν τελεια αλλα μην τα θελουμε ολα.  περα απο το τι γινεται και ποσο ευκολο ειναι, εχει να κανει με το χρονο που διαθετω για να βρω μια λυση για αυτο το προβλημα. πρεπει να δω τι με συμφερει και τι οχι! αμα ειναι να μου παρει 10 ωρες καλητερα να μεταφερω ενα sqlquery και να κανω με "πατεντα" την δουλεια μου....θα δουμε ομως.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;σας ευχαριστω ολους για το υλικο και τις κατευθυνσεις! τωρα μενει να μελετησω την "καλητερη" και "συμφερουσα" λυση για μενα και θα απαντησω μετα απο τα αποτελεσματα.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;αντιο&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47185.aspx</link><pubDate>Sat, 27 Dec 2008 22:31:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47185</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47185.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47185</wfw:commentRss><description>&lt;P&gt;Τελικά δεν άντεξα. Με έπιασαν τα στερητικά μου (ήδη από εχθές). Ως προς το θέμα μας τώρα,&amp;nbsp;θα συμφωνήσω με τον Παναγιώτη Καναβό. Όντως δεν είναι απλό. Όσον αφορά στο serialization παραθέτω τα εξής από &lt;A href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2183"&gt;εδώ&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Objects placed on the clipboard must be serializable. Unfortunately, .NET doesn't raise an exception if you place a non-serializable object in the clipboard or data object. It includes the format, but stores null. This makes it look like the clipboard isn't working. If your object can't be serialized, consider creating a byte array and storing it in the clipboard as a memory stream. You will also have to retrieve it as a memory stream and reconstitute the object from the byte array.&lt;/EM&gt; &lt;/P&gt;
&lt;P&gt;Αν σε ενδιαφέρουν μόνο τα data μπορείς να τα μετατρέψεις σε CVS format που αναγνωρίζεται από την &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.dataformats.aspx"&gt;DataFormats&lt;/A&gt; class. Είναι η "εύκολη" λύση που σου προτείνει και ο Γιώργος Καπνιάς. Κάτι που εγώ θέλω, μιας κι έχω αδυναμία στα datasets και στα datatables, είναι να μετατρέπω τα δεδομένα σε datatable για πολλούς και διάφορος λόγους.&amp;nbsp;Συν τοις άλλοις,&amp;nbsp;μπορώ να τα κάνω copy-paste προς και από τον clipboard με xmlserialization. Ο κώδικας που παραθέτω πιο κάτω είναι &lt;STRONG&gt;διερευνητικός&lt;/STRONG&gt;. Αν κάποιος ενδιαφέρεται να κάνει προτάσεις βελτίωσης, βεβαίως και είναι ευπρόσδεκτες.&lt;/P&gt;
&lt;P&gt;Αν και το θεωρώ περιττό, πρέπει&amp;nbsp;να αναφέρω ότι για να λειτουργήσει ο κώδικας χρειάζονται τα παρακάτω statements:&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; System.Reflection;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; System.Xml.Serialization;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; System.IO;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Σε μία κενή φόρμα έβαλα ένα datagridview και δύο buttons (btnCopy και btnPaste). Πρόσθεσα ένα LinqToSql Classes και στον designer έκανα drag n' drop ένα πίνακα από βάση δεδομένων με test data. Τα ονόματα είναι της δικής μου&amp;nbsp;βάσης και&amp;nbsp;πιστεύω ότι δε θα δημιουργήσουν πρόβλημα κατανόησης. Στα αντίστοιχα button events πρόσθεσα τον παρακάτω κώδικα. Νομίζω ότι τα σχόλια είναι κατανοητά και δε χρειάζεται περαιτέρω επεξήγηση.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;void&lt;/SPAN&gt; btnCopy_Click(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;object&lt;/SPAN&gt; sender, EventArgs e)&lt;BR&gt;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Καθάρισε το DataSource για checking...&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataGridView1.DataSource &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;;&amp;nbsp;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Όρισε το ling query&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;VSFDataClassesDataContext db &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; VSFDataClassesDataContext();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var femData &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; from female &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;in&lt;/SPAN&gt; db.FemaleDatas&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;select female;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Πάρε το mapping του row&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Data.Linq.Mapping.MetaType rowType=db.Mapping.GetTable(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(FemaleData)).RowType;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Καθόρισε τις ιδιότητες των DataColumns και δημιούργησέ τα&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataColumn[] columns &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; DataColumn[rowType.DataMembers.Count];&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/SPAN&gt; i &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; 0;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&lt;/SPAN&gt; (var member &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;in&lt;/SPAN&gt; rowType.DataMembers)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&lt;/SPAN&gt; memberName &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; member.Name; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;// το όνομα του column&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&lt;/SPAN&gt; memberDbType &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; member.DbType;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bool&lt;/SPAN&gt; canBeNull &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; member.CanBeNull;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Type t &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;string&lt;/SPAN&gt;); &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;// Default Type&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch&lt;/SPAN&gt; (memberDbType.ToUpper())&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"SMALLDATETIME"&lt;/SPAN&gt;:&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;t &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(DateTime);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"DATETIME"&lt;/SPAN&gt;:&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;t &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(DateTime);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"SMALLINT"&lt;/SPAN&gt;:&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;t &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;short&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"INT"&lt;/SPAN&gt;:&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;t &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;int&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"FLOAT"&lt;/SPAN&gt;:&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;t &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;double&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;columns[ i ] &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; DataColumn(memberName);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;columns[ i ].DataType &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; t;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;columns[ i ].AllowDBNull &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; canBeNull;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i++;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Δημιούργησε το DataTable&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataTable table &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; DataTable();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;table.TableName &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Females"&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;table.Columns.AddRange(columns);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Linq... η χαρά του Reflection&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&lt;/SPAN&gt; (FemaleData f &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;in&lt;/SPAN&gt; femData)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PropertyInfo[] propInfo &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; f.GetType().GetProperties();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataRow dr &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; table.NewRow();&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&lt;/SPAN&gt; (i &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; 0; i &amp;lt; propInfo.Length; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.BeginEdit();&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/SPAN&gt; (propInfo[ i ].GetValue(f, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;) !&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;string&lt;/SPAN&gt; typeStr &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; propInfo[ i ].PropertyType.ToString();&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;if&lt;/SPAN&gt; (typeStr.Contains(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Nullable"&lt;/SPAN&gt;))&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;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;int&lt;/SPAN&gt; fIdx &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; typeStr.IndexOf(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"["&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;int&lt;/SPAN&gt; lIdx &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; typeStr.IndexOf(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"]"&lt;/SPAN&gt;);&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;typeStr &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; typeStr.Substring(fIdx+1, lIdx &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;-&lt;/SPAN&gt; fIdx-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;&amp;nbsp;}&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;switch&lt;/SPAN&gt; (typeStr)&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;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"System.String"&lt;/SPAN&gt;:&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;dr[propInfo[ i ].Name] &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; propInfo[ i ].GetValue(f, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;).ToString();&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"System.Int16"&lt;/SPAN&gt;:&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;dr[propInfo[ i ].Name] &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; (&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;short&lt;/SPAN&gt;)propInfo[ i ].GetValue(f, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"System.Int32"&lt;/SPAN&gt;:&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;dr[propInfo[ i ].Name] &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; (&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;int&lt;/SPAN&gt;)propInfo[ i ].GetValue(f, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"System.DateTime"&lt;/SPAN&gt;:&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;dr[propInfo[ i ].Name] &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; (DateTime)propInfo[ i ].GetValue(f, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;case&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"System.Double"&lt;/SPAN&gt;:&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;dr[propInfo[ i ].Name] &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; (Double)propInfo[ i ].GetValue(f, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;null&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;break&lt;/SPAN&gt;;&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;}&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;// Αυτό δουλεύει, αλλά...&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;// dr[propInfo[ i ].Name] = propInfo[ i ].GetValue(f, null); ...AutoUnboxing ΜΠΛΙΑΑΑΑΧ!!!&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&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;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&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;dr[propInfo[ i ].Name] &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; System.DBNull.Value;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.EndEdit();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;table.Rows.Add(dr);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;table.AcceptChanges();&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Serialize το DataTable και βάλτο στον ClipBoard&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Stream stream &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; MemoryStream();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlSerializer xmlSerializer &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; XmlSerializer(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(DataTable));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlSerializer.Serialize(stream, table);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Clipboard.Clear();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Clipboard.SetDataObject(stream);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Τα δεδομένα βρίσκονται στον Clipboard..."&lt;/SPAN&gt;);&lt;BR&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;και&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;void&lt;/SPAN&gt; btnPaste_Click(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;object&lt;/SPAN&gt; sender, EventArgs e)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlSerializer xmlSerializer &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; XmlSerializer(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(DataTable));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataObject dObj &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; (DataObject)Clipboard.GetDataObject();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Stream stream &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; dObj.GetData(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;typeof&lt;/SPAN&gt;(MemoryStream)) &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;as&lt;/SPAN&gt; Stream;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataTable newTable &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; xmlSerializer.Deserialize(stream) &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;as&lt;/SPAN&gt; DataTable;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Clipboard.Clear();&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataGridView1.DataSource &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; newTable;&lt;BR&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Τα παραπάνω δουλεύουν στο παράδειγμά μου και, αν δεν έχω κάνει καμιά πατάτα στο copy - paste πρέπει να δουλέψουν και σε σένα. Βέβαια, ο κώδικας είναι ατελής μιας και δεν περιλαμβάνονται όλα τα datatypes παρά μόνο εκείνα που χρησιμοποίησα στον πίνακα. Όπως ανέφερα και παραπάνω, προτάσεις βελτίωσης είναι ευπρόσδεκτες.&lt;/P&gt;
&lt;P&gt;Τώρα αν δε σε ικανοποιεί αυτό μπορείς να χρησιμοποιήσεις LinqToSql serialization. Ρίξε μόνο μια ματιά σ' αυτό το &lt;A href="http://csharpfeeds.com/post/6165/LINQ_to_SQL_and_Serialization.aspx"&gt;άρθρο&lt;/A&gt;. Επίσης στο CodeProject βρήκα &lt;A href="http://69.10.233.10/KB/linq/linqsqlserialization.aspx"&gt;αυτήν&lt;/A&gt; τη library. Δεν την έχω χρησιμοποιήσει, αλλά μπορείς να το κάνεις εσύ και να μας δώσεις feedback. Αξίζει ακόμα να ρίξεις μια ματιά στην &lt;A href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt;XmlSerializer&lt;/A&gt; class. Ένα λεπτό σημείο που αναφέρεται εκεί είναι το:&lt;/P&gt;
&lt;DIV class=subsection&gt;
&lt;P&gt;The &lt;SPAN&gt;&lt;SPAN class=selflink&gt;&lt;STRONG&gt;XmlSerializer&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; cannot serialize or deserialize the following: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;Arrays of &lt;SPAN&gt;&lt;A id=ctl00_rs1_mainContentContainer_ctl121 href="http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx"&gt;&lt;FONT color=#0033cc&gt;ArrayList&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Arrays of &lt;SPAN&gt;&lt;A id=ctl00_rs1_mainContentContainer_ctl122 href="http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx"&gt;&lt;FONT color=#0033cc&gt;List&lt;SPAN class=vb&gt;(T&lt;/SPAN&gt;&lt;SPAN class=vb&gt;)&lt;/SPAN&gt;&lt;SPAN class=nu&gt;)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;
&lt;P&gt;Ελπίζω να βοήθησα.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Σημ&lt;/U&gt;.: Συγνώμη για τα [ i ], αλλά στην προεπισκόπηση, χωρίς τα κενά, μου έβγαζε... γλόμπους!&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47184.aspx</link><pubDate>Sat, 27 Dec 2008 22:22:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47184</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47184.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47184</wfw:commentRss><description>&lt;P&gt;χμμμμ, να μεταφερω το id?&lt;/P&gt;&lt;P&gt;βασικα θελω να μεταφερω απο ενα παραθυρο (windform) της ιδιας εφαρμογης εγγραφες Linq σε ενα αλλο. της ιδιας εφαρμογης παντα.&lt;/P&gt;&lt;P&gt;νομιζω μου εδωσες μια εναλακτικη πολυ καλη ιδεα! θα δοκιμασω να μεταφερω τα id των εγγραφων ως κειμενο και μετα να τα ξαναφορτωσω sto paste σε νεο List of Linq Objects.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tnx a lot αν πεσω σε αδιεξοδο θα ενημερωσω το post.&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47173.aspx</link><pubDate>Sat, 27 Dec 2008 06:10:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47173</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47173.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47173</wfw:commentRss><description>&lt;P&gt;Αυτό που θέλεις να κάνεις δεν είναι απλό. Προσπαθείς να χρησιμοποιήσεις το Clipboard για κάτι για το οποίο δεν φτιάχτηκε.&lt;/P&gt;
&lt;P&gt;Μπορείς μεν να χρησιμοποιήσεις serialization για να μεταφέρεις αντικείμενα από τη μία εφαρμογή στην άλλη, θα πρέπει όμως και η δεύτερη εφαρμογή να καταλαβαίνει τί είναι αυτά τα αντικείμενα, δηλαδή θα πρέπει να χρησιμοποιεί τα ίδια assemblies για να μπορέσει να κάνει deserialize τα δεδομένα του clipboard.&amp;nbsp;Αν όμως συμβαίνει αυτό, γιατί να μεταφέρεις τα αντικείμενα τα ίδια και να μην μεταφέρεις απλά το ID τους και να φορτώσεις τα αντικείμενα στην δεύτερη εφαρμογή?&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47168.aspx</link><pubDate>Sat, 27 Dec 2008 02:08:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47168</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47168.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47168</wfw:commentRss><description>&lt;P&gt;ευχαριστω για το ν ενδιαφερον, αλλα και τα 2 μου φαινονται πολυ συνθετα για κατι τοσο "απλο" που θελω να κανω.......&lt;/P&gt;&lt;P&gt;σαν να πηρε το ματι μου κατι οτι πρεπει να κανω το περιεχομενο πρωτα seriazation!??&lt;/P&gt;&lt;P&gt;ελπιζω να υπαρχει καποιος που να εχει κανει κατι παρομοιο.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description></item><item><title>Απ: Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47149.aspx</link><pubDate>Thu, 25 Dec 2008 18:15:46 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47149</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47149.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47149</wfw:commentRss><description>&lt;P&gt;Να αρχίσω από τον εύκολο τρόπο ή από τον δύσκολο; &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Δεν έχω υπόψη μου πως υλοποιείται από τρίτους κάτι παρόμοιο, αλλά κάποια στιγμή που είχα κολλήσει και είχα ξεμείνει από ιδέες πως θα&amp;nbsp;υλοποιήσω κάτι παρόμοιο, παρατήρησα ότι στο Excel όταν κάνεις copy &amp;amp; paste κελιά, ένα από τα formats που βάζει μέσα στο ClipBoard είναι το CSV. Με πιο απλά λόγια, αν βάλεις τα δεδομένα σου σαν CSV format μέσα στο ClipBoard μπορείς να τα μεταφέρεις σαν text, αλλά μπορείς να ξανασυνθέσεις τα δεδομένα σου σε όποια μορφή θες, στην εφαρμογή που θα έχουν μεταφερθεί μέσω ClipBoard.&lt;/LI&gt;
&lt;LI&gt;Ο δύσκολος τρόπος είναι να ορίσεις ένα δικό σου format στο ClipBoard που να ικανός να μεταφέρει τα δεδομένα σου - από εκεί και πέρα θα πρέπει και να τα γράφεις και να τα διαβάζεις σε αυτό το format που στην συνέχεια θα το μετατρέπεις σε ότι θέλεις. Δεν είναι ότι πιο εύκολο πράγμα στην υλοποίηση, αλλά υπάρχει &lt;A target=_blank href="http://www.dotnetzone.gr/cs/forums/permalink/1105/1084/ShowThread.aspx#1084"&gt;μια συζήτηση&lt;/A&gt; που μπορείς να πάρεις μιας ιδέα για το τι απαιτείται...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Linq Objects saved and load from ClipBoard</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47141.aspx</link><pubDate>Thu, 25 Dec 2008 01:12:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47141</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47141.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47141</wfw:commentRss><description>&lt;P&gt;Χρονια πολλα σε ολλους,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;εχω κολησει με ενα σημαντικο προβλημα.Ζητησα και απο τον Αι-Bill να μου φερει την λυση αλλα δεν το βλεπω να ξερει vb.net. Τα παρατησε λεει απο την vb.4. :P&lt;/P&gt;&lt;P&gt;Προσπαθω να αντιγραψω και να καλεσω επιτυχως μια List (of objects) που φτιαχνω και μεσα της εχει αντικειμενα που ειναι Linq records&lt;/P&gt;&lt;P&gt;με την Clipboard.SetData("format as string", ObjectName)&lt;/P&gt;&lt;P&gt;ενω καταφερνω και περνω οτι αλλο θελω απο το clipboard ΔΕΝ μπορεσα με τιποτα να βρω τι format name εχει ενα list!&lt;/P&gt;&lt;P&gt;δοκιμασα και το list.getType.Tostring αλλα δεν ! το List ποθ ερχεται ΑΝ ερχεται ειναι ΠΑΝΤΑ Nothing. αρα δεν το ζηταω σωστα.&lt;/P&gt;&lt;P&gt;εχεις κανεις κανει κατι παρομοιο? μια List να μεταφερθει μεσω clipboard? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;σας ευχαριστω ελπιζω σε καποιο παραδειγμα με vb.net code.&lt;/P&gt;&lt;P&gt;καλες γιορτες&lt;/P&gt;</description></item></channel></rss>