<?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>Απ: DataGridView Cell και Commit Changes</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37873.aspx</link><pubDate>Fri, 30 Nov 2007 07:55:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37873</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37873.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37873</wfw:commentRss><description>&lt;P&gt;Κάτι δεν πάει καλά με τον κώδικά σου... Αυτό αποκλείεται να συμβαίνει. Πρώτα εκτελείται το Cell_Validating, μετά το Cell_Validated και μετά οποιοδήποτε άλλο event. Δοκίμασε ένα νέο project. Βάλε ένα DataGridView με ένα unbound column και ένα κουμπί. Βάλε ένα Debug.WriteLine() σε κάθε event για να δεις τι εμφανίζει στο Immediate Window. &lt;/P&gt;</description></item><item><title>Απ: DataGridView Cell και Commit Changes</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37863.aspx</link><pubDate>Fri, 30 Nov 2007 03:24:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37863</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37863.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37863</wfw:commentRss><description>Παιδιά δοκιμάζω το εξής σαν test για να καταλάβω την σειρά με την οποία συμβαίνουν τα πράγματα.&lt;br&gt;&lt;br&gt;Στο datadridview CellValidated event βάζω τo datadridview.EndEdit() και ένα απλό Messagebox&lt;br&gt;&lt;br&gt;-Κάνω edit σε ένα κελί (βγαίνει το μολυβάκι αριστερα στο datagridview,ενδειξη ότι κάνω editing)&lt;br&gt;- Πατάω το κουμπί "Αποθήκευση", τρέχει ο κώδικας αποθήκευσης στην Βάση Δεδομένων &lt;br&gt;-Και ύστερα ενεργοποιείται το CellValidated event του datadridview , όπου παράλληλα εμφανίζεται το μήνυμα του Messagebox αλλά και το μολυβάκι μετατρέπεται σε βελάκι.&lt;br&gt;&lt;br&gt;Δηλαδή απ'ότι κατάλαβα πρώτα συμβαίνει το Button_Click event και μετά το CellValidated event. Έτσι δεν με βολέυει όμως γιατί πρώτα γίνεται η αποθήκευση στην βάση και μετά περνάνε οι τιμές από το Cell στο Datatable.&lt;br&gt;Δεν χρησιμοποιώ bindingsource αλλα Datatable για το Datasource του Datagridview (DataGridView.DataSource = ds.Tables(Table))&lt;br&gt;Ευχαριστώ πάντως για την καθοδήγηση και τις συμβουλές.&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: DataGridView Cell και Commit Changes</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37800.aspx</link><pubDate>Wed, 28 Nov 2007 17:47:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37800</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37800.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37800</wfw:commentRss><description>To CellValidated τρέχει οποτεδήποτε φεύγει το focus από το τρέχον κελί, είτε για να πάει σε άλλο κελί, είτε για να πάει σε άλλο control.</description></item><item><title>Απ: DataGridView Cell και Commit Changes</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37768.aspx</link><pubDate>Wed, 28 Nov 2007 00:14:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37768</guid><dc:creator>infoCENTER</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37768.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37768</wfw:commentRss><description>&lt;P&gt;Χρησιμοποίησες την λέξη DataSource και αν κατάλαβα καλά μάλλον χρησιμοποιείς Binding για να γεμίσεις το Grid με δεδομένα. &lt;/P&gt;
&lt;P&gt;Αν ναι τότε στον κώδικα του Button γράψε :&lt;/P&gt;
&lt;P&gt;Me.Validate&lt;/P&gt;
&lt;P&gt;Me.&amp;lt;BindingSource&amp;gt;.EndEdit&lt;/P&gt;
&lt;P&gt;'Execute rest code&lt;/P&gt;
&lt;P&gt;Αν όμως δεν χρησιμοποιείς Binding τότε ένας από του τρόπους που σου έχει προταθεί είναι σωστός. Τώρα μπορεί να υπάρχουν και άλλες υλοποιήσεις αλλά νομίζω πως θα είναι μπακαλίστικες αντιθέτως αυτός που σου έχει προταθεί είναι ο πιο σωστός (Κατά την γνώμη μου)&lt;/P&gt;</description></item><item><title>Απ: DataGridView Cell και Commit Changes</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37728.aspx</link><pubDate>Tue, 27 Nov 2007 01:14:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37728</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37728.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37728</wfw:commentRss><description>Απ'ότι κατάλαβα το CellValidated Event συμβαίνει όταν ο χρήστης κάνει κλίκ σε άλλο κελί, κάτι που εμένα δεν με βολέυει αφού ο χρήστης μπορεί να κάνει κλικ στο κουμπί αποθήκευσεις χωρίς να έχει κάνει κλικ σε άλλο cell ώστε να πάψει το editing στο τρέχον κελί.Αυτό που κάνω προς το παρόν είναι όταν ο χρήστης κάνει κλικ στο κουμπί Αποθήκευσης, να ορίζεται σαν τρέχον κελι το πρώτο ορατό κελί μου. Έτσι κλείνει το editing σε οποιο κελί είναι ο χρήστης αφού τον πηγαίνει στο πρώτο ορατό, περνιούνται κατά συνέπεια οι αλλαγές στο datasource και μετά κάνω αποθήκευση στην Βάση Δεδομένων.Άλλες ιδέες λιγότερο μπακαλίστικες;&lt;br&gt;&lt;br&gt;δηλ. κάνω&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DataGridView.CurrentCell &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; DataGridViewEidos.Rows(0).Cells(1)&lt;/span&gt;&amp;nbsp;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: DataGridView Cell και Commit Changes</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37709.aspx</link><pubDate>Mon, 26 Nov 2007 17:18:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37709</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37709.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37709</wfw:commentRss><description>&lt;P&gt;Δοκίμασε στο CellValidated να κάνεις DataGridView.EndEdit(). To&amp;nbsp;CellValidated τρέχει οποτεδήποτε πάει να φύγει το focus από το&amp;nbsp;τρέχον κελί. Απλά, βάλε συνθήκη ώστε να εκτελείται το EndEdit&amp;nbsp;μόνο&amp;nbsp;όταν βρίσκεσαι στο ανάλογο DataColumn.&amp;nbsp;&lt;/P&gt;</description></item><item><title>DataGridView Cell και Commit Changes</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37698.aspx</link><pubDate>Sun, 25 Nov 2007 02:20:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37698</guid><dc:creator>Azular</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37698.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37698</wfw:commentRss><description>Έστω ότι σε ένα DataGridView κάνω editing ένα Cell. Για να περάσει η αλλαγή που έχω κάνει στο Cell πρέπει να κάνω κλίκ σε ένα άλλο Cell ή να πατήσω Enter. Έχω κάνει και ένα κουμπί που αποθηκευει τις αλλαγές στην Βάση δεδομένων. Αν όμως ένα χρήστης επεξεργαστεί το Cell χωρίς να κάνει κλικ σε άλλο cell δεν θα περάσει η αλλαγή στο Datasοurce και κατα συνέπεια το κουμπί αποθήκευσης λογικό είναι να μην αποθηκευσει αλλαγή στην βάση. Δοκίμασα να χρησιμοποιήσω το DataGridView.EndEdit() ή το DataGridView.CommitEdit(Windows.Forms.DataGridViewDataErrorContexts.Commit) αλλά δεν έγινε τίποτα. &lt;br&gt;Καμία ιδέα πώς να περνάω την αλλαγή από το Cell στο Datasource χωρίς ο χρήστης να κάνει κλικ αλλού;&lt;br&gt;Ευχαριστώ για το χρόνο σας!&lt;br&gt;</description></item></channel></rss>