<?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>WinForms</title><link>https://www.dotnetzone.gr:443/cs/forums/12/ShowForum.aspx</link><description>Θέματα για rich client / windows εφαρμογές, σε οποιαδήποτε γλώσσα (VB.NET, C#, managed C++, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ:και μια δύσκολη ερώτηση..</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4439.aspx</link><pubDate>Sat, 20 Aug 2005 06:07:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4439</guid><dc:creator>Pilgrim</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4439.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=4439</wfw:commentRss><description>yep, I got it λίγο μετά που έκανα το post.&lt;br&gt;
&lt;br&gt;
thx, anyway για την βοήθεια. Ήταν σημαντική γιατί είχα κολλήσει λίγο...&lt;br&gt;
&lt;br&gt;
cheers!&lt;br&gt;
&lt;br&gt;</description></item><item><title>Απ:και μια δύσκολη ερώτηση..</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4420.aspx</link><pubDate>Fri, 19 Aug 2005 19:10:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4420</guid><dc:creator>raPhaeL</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4420.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=4420</wfw:commentRss><description>&lt;font face="Tahoma" size="2"&gt;(((DataTable)((DataGrid)sender).DataSource).Rows[dragrow][dragColumn].ToString());&lt;br&gt;
&lt;/font&gt;

&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;το &lt;/span&gt;&lt;span&gt;DragColumn&lt;/span&gt;&lt;span&gt; το έχεις και
αυτό από το &lt;/span&gt;&lt;span&gt;HitTestInfo&lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font face="Tahoma" size="2"&gt;.&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;br&gt;
&lt;br&gt;</description></item><item><title>Απ:και μια δύσκολη ερώτηση..</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4409.aspx</link><pubDate>Fri, 19 Aug 2005 16:41:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4409</guid><dc:creator>Pilgrim</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4409.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=4409</wfw:commentRss><description>&lt;font size="2"&gt;raphael ευχαριστώ. &lt;br&gt;
Το κομμάτι κώδικα που μου έλειπε ήταν το :&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;font color="#ff1493"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int droprow;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int x;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int y;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Point pt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pt=((DataGrid)sender).PointToClient(new Point(e.X,e.Y));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; x=pt.X;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; y=pt.Y;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; droprow = ((DataGrid)sender).HitTest(x ,y).Row;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font color="#000000"&gt;μέχρι εδώ καλά ξέρω ποιό είναι το row στο οποίο
πάω να κάνω το drop. Και μάλιστα αν δεν έχω rows στο target-grid είναι
-1 που και&lt;br&gt;
αυτό βολεύει για να ξέρω ότι θα κάνω insert και όχι update.&lt;br&gt;
&lt;br&gt;
Η επόμενη ερώτηση είναι πως βρίσκω το περιεχόμενο ενός cell στο target-grid.... ??&lt;br&gt;
δηλ. κάτι σαν : &lt;br&gt;
&lt;/font&gt;&lt;/font&gt;&lt;br&gt;
&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#ff1493"&gt;string cellvalue = ((DataGrid)sender).Column[0].]Rows.[droprow]&lt;/font&gt;&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
????&lt;br&gt;</description></item><item><title>Απ:και μια δύσκολη ερώτηση..</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4391.aspx</link><pubDate>Thu, 18 Aug 2005 21:50:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4391</guid><dc:creator>raPhaeL</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4391.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=4391</wfw:commentRss><description>&lt;p class="MsoNormal"&gt;&lt;span&gt;Ρίξε μια ματιά στο attached Project&lt;/span&gt;&lt;span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>και μια δύσκολη ερώτηση..</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4360.aspx</link><pubDate>Thu, 18 Aug 2005 04:15:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4360</guid><dc:creator>Pilgrim</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4360.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=4360</wfw:commentRss><description>το case έχει ως εξής.&lt;br&gt;
&lt;br&gt;
Έχω κάνει drag τα στοιχεία απο ένα datagrid και θέλω να τα κάνω drop σε ένα άλλο datagrid.&lt;br&gt;
Το πρώτο είναι σχετικά εύκολο μέσω του hittest. δηλ :&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private void gridTable_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)&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; sourceControl = (DataGrid)sender;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mouseButton&amp;nbsp; = e.Button;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;
System.Windows.Forms.DataGrid.HitTestInfo hitInfo =
((DataGrid)sender).HitTest(e.X, e.Y);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bool CellHit
=(hitInfo.Type == System.Windows.Forms.DataGrid.HitTestType.RowHeader);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bool
LeftMouseButton = (mouseButton==System.Windows.Forms.MouseButtons.Left);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(LeftMouseButton &amp;amp;&amp;amp; CellHit)&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; string gridname = ((DataGrid)sender).Name.ToString();&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; int dragrow =
Convert.ToInt32(((DataGrid)sender).HitTest(e.X,e.Y).Row.ToString());&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; DataView dv =
((DataView)((DataGrid)sender).DataSource);&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; DataRow dr = dv.Table.Rows[dragrow];&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; int i=0;&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; string mydata="";&lt;br&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; foreach(System.Data.DataColumn col in
dv.Table.Columns)&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;
&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;
mydata+=gridname+"_"+col.ColumnName.ToString()+":"+
dr&lt;img src="/cs/emoticons/emotion-55.gif" alt="Idea [I]" /&gt;.ToString()+"|";&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; i++;&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;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;
((DataGrid)sender).DoDragDrop(mydata,DragDropEffects.Copy);&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; }&lt;br&gt;
&lt;br&gt;
Όπως φαίνεται στην πραγματικότητα τα "αποθηκεύω" σε text μορφή
delimited με ένα χαρακτήρα (το pipe) για να τα αποσυνθέσω κατά το drop.&lt;br&gt;
Και στην πραγματικότητα μου αρκεί να ξέρω το σε ποιό cell θα "ρίξω" τα data, το οποίο cell είναι ένα unique id οπότε θα μπορούσα&lt;br&gt;
να κάνω ένα update στην βάση και rebind το grid για να προσομοιώσω το drag'n'drop effect που θέλω να πετύχω.&lt;br&gt;
Το πρόβλημά μου και η ερώτηση είναι ότι στο source-grid εντάξει, ξέρω σε ποιό
row/cell έκανε click ο χρήστης, γιατί επιλέγει τι θα κάνει drag με click.&lt;br&gt;
Στο drop όμως, προσδιορίζει το που θα "ρίξει" αυτό που κάνει drag με το
mouse-over. Άρα δεν έχω την HitTest στην διάθεσή μου...για να βρώ το id
κλπ...&lt;br&gt;
Και απο όσο είδα το datagrid δεν έχει κάτι σε mouse-over event...&lt;br&gt;
&lt;br&gt;
Σκέφτομαι κάπως να βρίσκω το handle του control .. αλλά έχω κολλήσει λίγο στην προσέγγιση.&lt;br&gt;
Και όσο το ψάχνω είπα να κάνω ένα post. ;-)&lt;br&gt;
&lt;br&gt;
Οποιαδήποτε βοήθεια ευπρόσδεκτη.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;</description></item></channel></rss>