<?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>Πρώτα Βήματα - Web Development</title><link>https://www.dotnetzone.gr:443/cs/forums/75/ShowForum.aspx</link><description>Ολα τα θέματα που σας απασχολούν σχετικά με ASP, ASP.NET αν τώρα επιχειρείτε να φτιάξετε την πρώτη σας σελίδα.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50380.aspx</link><pubDate>Thu, 30 Apr 2009 18:31:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50380</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50380.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50380</wfw:commentRss><description>Βασικά είναι constructor και του περνάω ένα DataSet, διαβάζει όλες τις γραμμές από τον πρώτο πίνακα και αρχικοποιεί τα properties.&lt;br&gt;Ύστερα φιλτράρει το DataSet (δηλαδή κάποιον δεύτερο πίνακα) βάσει κάποιον κριτιρίων και τον περνά σε άλλον constructor.&lt;br&gt;Γιαυτό θέλω να φιλτράρω το DataSet, ώστε να περνάω στον δεύτερο constructor έτοιμο το DataSet (να μην χρειάζεται να φιλτράρεται εκεί).&lt;br&gt;</description></item><item><title>Απ: DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50375.aspx</link><pubDate>Thu, 30 Apr 2009 16:39:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50375</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50375.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50375</wfw:commentRss><description>&lt;P&gt;Μπορείς να έχεις το method να γυρίζει ένα DataViewManager... Εξαρτάται τι προσπαθείς να κάνεις, τι είναι αυτό που εννοείς λέγοντας "χειρίζεται αναλόγως".&lt;/P&gt;</description></item><item><title>Απ: DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50372.aspx</link><pubDate>Thu, 30 Apr 2009 08:44:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50372</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50372.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50372</wfw:commentRss><description>Το πρόβλημά μου είναι ότι μέσα σε method θέλω να φιλτράρω ένα DataSet και να το περάσω σαν παράμετρο σε μια άλλη, αλλά έτσι δεν κρατά το φιλτράρισμα...&lt;br&gt;Γιαυτό σκέφτηκα να φτιάξω ένα δεύτερο DataSet (φιλτραρισμένο) και να περάσω εκείνο.&lt;br&gt;Πως θα μπορούσα να υλοποιήσω το παραπάνω?&lt;br&gt;&lt;br&gt;Το να περάσω το φιλτράρισμα σαν δεύτερη παράμετρο το έχω σκεφτεί, απλά θέλω να μάθω αν υπάρχει άλλος τρόπος.&lt;br&gt;&lt;br&gt;H method δεν θα κάνει bind το DataSet σε κάποιο control, αλλά διαβάζει κάποια αποτελέσματα από τους πίνακες και τα χειρίζεται αναλόγως.&lt;br&gt;</description></item><item><title>Απ: DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50368.aspx</link><pubDate>Thu, 30 Apr 2009 07:21:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50368</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50368.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50368</wfw:commentRss><description>&lt;P&gt;Μάλλον δεν έχεις καταλάβει τη φιλοσοφία του DataSet και του DataViewManager. Γενικά, όταν θέλουμε να φιλτράρουμε τα data από τα DataTables δεν τα κάνουμε copy σε νέα DataSets γιατί τέτοιες διαδικασίες κοστίζουν. Φαντάσου να έχεις DataTables με πολλές εγγραφές. Δουλεύουμε με αυτό το DataSet που έχουμε, αλλάζοντας τα φίλτρα κατά το δοκούν. Αρχικά, μπορούμε να δουλέψουμε χωρίς καν το DataViewManager. Σε κάθε DataTable μπορείς να ορίσεις το Filter property και να κρύψεις τα DataRows που δεν σε ενδιαφέρουν. Το DataTable θα συνεχίσει να περιέχει όλα τα DataRows αλλά τα controls που θα είναι binded πάνω του, θα δείχνουν μόνο όσα τους επιτρέπει το φίλτρο. Από εκεί και πέρα, αν θες να μαζέψεις τα φίλτρα σε ομάδες και να τα διαχειριστεις καλύτερα, μπορείς να χρησιμοποιήσεις ένα ή παραπάνω DataViewManager. Και πάλι το DataSet δεν θα αλλάξει περιεχόμενα αλλά πλέον θα κάνεις bind όλα τα controls πάνω στο εκάστοτε DataViewManager και τότε θα βλέπεις φιλτραρισμένα τα data. &lt;/P&gt;
&lt;P&gt;Για παράδειγμα:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;            DataViewManager nwindDVM &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;new&lt;/SPAN&gt; DataViewManager(nwindDS);
            &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;foreach&lt;/SPAN&gt; (DataViewSetting myDVS &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;in&lt;/SPAN&gt; nwindDVM.DataViewSettings)
            {
                myDVS.ApplyDefaultSort &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;true&lt;/SPAN&gt;;
            }

            nwindDVM.DataViewSettings[&lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"Customers"&lt;/SPAN&gt;].Sort &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"CompanyName DESC"&lt;/SPAN&gt;;
            nwindDVM.DataViewSettings[&lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"Orders"&lt;/SPAN&gt;].RowFilter &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"OrderDate &amp;gt;= '01.03.1998' AND OrderDate &amp;lt;= '31.03.1998'"&lt;/SPAN&gt;;
            nwindDVM.DataViewSettings[&lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"OrderDetails"&lt;/SPAN&gt;].RowFilter &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"ProductID = 35"&lt;/SPAN&gt;;

            someDataGrid.SetDataBinding(nwindDVM, &lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"Customers"&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Παρατήρησε ότι το someDataGrid κάνει bind στο DataTable Customers αλλά μέσα από το nwindDVM. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50362.aspx</link><pubDate>Thu, 30 Apr 2009 05:51:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50362</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50362.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50362</wfw:commentRss><description>Τι προβήματα έχει ο κώδικας?&lt;br&gt;&lt;br&gt;Βασικά δεν μπορώ να το καταφέρω το φιλτράρισμα... Κάπου έχω μπερδευτεί...&lt;br&gt;Εννοώ ότι όταν κάνω dataViewManager.DataSet, μου επιστρέφει το αρχικό DataSet, όπου dataViewManager είναι ένα DataViewManager του αρχικού DataSet, μετά από κάποιο φιλτράρισμα χρησιμοποιώντας το DataViewSettings["tablename"].RowFilter(......).&lt;br&gt;&lt;br&gt;Πως μπορώ να επιστρέψω ένα φιλτραρισμένο DataSet??????&lt;br&gt;</description></item><item><title>Απ: DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50356.aspx</link><pubDate>Wed, 29 Apr 2009 23:44:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50356</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50356.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50356</wfw:commentRss><description>&lt;P&gt;Δοκίμασε αυτό:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="BORDER-BOTTOM:#e5e5e5 1px solid;BORDER-LEFT:#e5e5e5 1px solid;BACKGROUND-COLOR:#f2f2f2;BORDER-TOP:#e5e5e5 1px solid;BORDER-RIGHT:#e5e5e5 1px solid;" border=0 cellSpacing=0 cellPadding=0 width="100%"&gt;

&lt;TR style="LINE-HEIGHT:normal;VERTICAL-ALIGN:top;"&gt;
&lt;TD style="TEXT-ALIGN:right;WIDTH:40px;"&gt;&lt;PRE style="PADDING-BOTTOM:2px;MARGIN:0px;PADDING-LEFT:2px;PADDING-RIGHT:2px;FONT-FAMILY:courier new;COLOR:gray;FONT-SIZE:11px;BORDER-RIGHT:#e7e7e7 1px solid;PADDING-TOP:2px;"&gt;1
2
3
4
5
6
7
8
9
 &lt;/PRE&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;PRE style="PADDING-BOTTOM:2px;MARGIN:0px;PADDING-LEFT:8px;PADDING-RIGHT:2px;PADDING-TOP:2px;"&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DataSet ds2 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;new&lt;/SPAN&gt; DataSet();
DataTable table &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; ds.Tables[&lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"Suppliers"&lt;/SPAN&gt;].Clone();

&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;foreach&lt;/SPAN&gt; (DataRowView row &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;in&lt;/SPAN&gt; ds.Tables[&lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"Suppliers"&lt;/SPAN&gt;].Select(&lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"supplierid=1"&lt;/SPAN&gt;))
{
    table.ImportRow(row.Row);
}
 
ds2.Tables.Add(table);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Γιατί όμως να φτιάξεις ένα καινούργιo Dataset? Δεν μπορείς να επιτύχεις το ίδιο (φιλτράρισμα) με ένα DataView;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50353.aspx</link><pubDate>Wed, 29 Apr 2009 23:32:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50353</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50353.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50353</wfw:commentRss><description>&lt;P&gt;Καλύτερος τρόπος ή γρηγορότερος να κάνεις τι ακριβώς; 'Η για να το πω αλλιώς, τι θα κάνεις αυτό το δεύτερο DataSet; Ο κώδικάς σου έχει διάφορα προβλήματα και υποπτεύομαι ότι είσαι σε λάθος δρόμο. &lt;/P&gt;</description></item><item><title>DataSet DataRelation και RowFilter</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50346.aspx</link><pubDate>Wed, 29 Apr 2009 22:10:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50346</guid><dc:creator>gspiros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50346.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=50346</wfw:commentRss><description>Έχω τον κώδικα:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string query = "SELECT * FROM Suppliers";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnection con = new SqlConnection(connectionString);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand com = new SqlCommand(query, con);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlDataAdapter adapter = new SqlDataAdapter(com);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataSet ds = new DataSet("Northwind");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br&gt;&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; con.Open();&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; adapter.Fill(ds, "Suppliers");&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; com.CommandText = "SELECT * FROM Products";&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; adapter.Fill(ds, "Products");&lt;br&gt;&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; catch (Exception err)&lt;br&gt;&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; Console.WriteLine(err.ToString());&lt;br&gt;&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; finally&lt;br&gt;&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; con.Close();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataColumn parentCol = ds.Tables["Suppliers"].Columns["SupplierID"];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataColumn childCol = ds.Tables["Products"].Columns["SupplierID"];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataRelation relation = new DataRelation("Suppliers_Products", parentCol, childCol);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds.Relations.Add(relation);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;o οποίος γεμίζει ένα DataSet με 2 πίνακες και ένα DataRelation!&lt;br&gt;&lt;br&gt;Θέλω τώρα να δημιουργήσω ένα άλλο DataSet, το οποίο θα προέρχεται από το αρχικό DataSet, αλλά θα έχει κάποιο Filter του τύπου "SupplierID=1".&lt;br&gt;&lt;br&gt;Προσπάθησα να κάνω το εξής:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataView view = new DataView(ds.Tables["Suppliers"]);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataSet ds2 = ds.Clone();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataTable table = new DataTable();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds2.Tables.Add(table);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; view.RowFilter = "supplierid=1";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (DataRowView row in view)&lt;br&gt;&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; table.ImportRow(row.Row);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;αλλά παρόλο που εισάγει μια γραμμή, δεν εισάγει τα data (κολώνες).&lt;br&gt;Γιατί?&lt;br&gt;&lt;br&gt;Επίσης αν μέσα στο loop, γράψω table.Rows.Add(row.Row) αντί table.ImportRow(row.Row);&lt;br&gt;παίρνω ArgumentException: This row already belongs to another table&lt;br&gt;Γιατί αυτό?&lt;br&gt;&lt;br&gt;&lt;br&gt;Η λογική που σκεφτόμουν να ακολουθήσω είναι η ίδια και για τον άλλο πίνακα ("Products"), να κάνω δηλαδή ένα loop με view.RowFilter = "supplierid=1"&lt;br&gt;Υπάρχει καλύτερος τρόπος ή πιο γρήγορος?&lt;br&gt;</description></item></channel></rss>