将数据表值及其关系分配给数据集. [英] Assign the datatable values to Dataset along with the relationship.

查看:62
本文介绍了将数据表值及其关系分配给数据集.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想将数据表中的数据放入具有关系的数据集中.

数据集包含表号,数据表包含某些查询获取的所有数据.

我想将该数据表数据添加到数据集内的所有表中


有什么想法吗?

Hi

I want to get the data from datatable into a dataset with there relationship.

Dataset contains number of table and datatable contains all data fetched by some query.

I want to add that datatable data to all table inside the dataset


Any idea??

推荐答案

\希望我的代码可以提供帮助:
\hope my code can help :
DataTable ordertable = new DataTable();


           DataColumn orderID = new DataColumn("orderID");
           DataColumn userName = new DataColumn("userName");
           DataColumn cudID = new DataColumn("cudID");
           DataColumn cusName = new DataColumn("cusName");
           DataColumn orderDate = new DataColumn("orderDate");
           DataColumn Payment = new DataColumn("payment");
           DataColumn orderTotal = new DataColumn("orderTotal");


           //Define DataType of the Columns
           orderID.DataType = System.Type.GetType("System.String");
           userName.DataType = System.Type.GetType("System.String");
           cudID.DataType = System.Type.GetType("System.String");
           cusName.DataType = System.Type.GetType("System.String");
           orderDate.DataType = System.Type.GetType("System.String");
           Payment.DataType = System.Type.GetType("System.String");
           orderTotal.DataType = System.Type.GetType("System.String");


           //Add All These Columns into Dataordertable ordertable
           ordertable.Columns.Add(orderID);
           ordertable.Columns.Add(userName);
           ordertable.Columns.Add(cudID);
           ordertable.Columns.Add(cusName);
           ordertable.Columns.Add(orderDate);
           ordertable.Columns.Add(Payment);
           ordertable.Columns.Add(orderTotal);


           //Create a Row in the Dataordertable ordertable
           UserInfo searchuser = new UserInfo();
           foreach (OrderInfo order in sorderlist)
           {
               DataRow row = ordertable.NewRow();

               //Fill All Columns with Data
               row[orderID] = order.ID;

               searchuser = userList.Find(user => user.ID == order.userID);
               row[userName] = searchuser.Name;
               row[cudID] = order.cusID;
               CustomerInfo search = new CustomerInfo();
               search = cusList.Find(cus => cus.ID == order.cusID);
               row[cusName] = search.Name;
               row[orderDate] = order.Date;
               row[Payment] = order.paymentType;
               row[orderTotal] = order.Total;


                      ordertable.Rows.Add(row);

           }

           DataTable detailstable = new DataTable();


           DataColumn orderdID = new DataColumn("orderdID");
           DataColumn itemID = new DataColumn("itemID");
           DataColumn itemCode = new DataColumn("itemName");
           DataColumn itemPrice = new DataColumn("itemPrice");


           //Define DataType of the Columns
           orderdID.DataType = System.Type.GetType("System.String");
           itemID.DataType = System.Type.GetType("System.String");
           itemCode.DataType = System.Type.GetType("System.String");
           itemPrice.DataType = System.Type.GetType("System.String");


           //Add All These Columns into DataTable table
           detailstable.Columns.Add(orderdID);
           detailstable.Columns.Add(itemID);
           detailstable.Columns.Add(itemCode);
           detailstable.Columns.Add(itemPrice);


           //Create a Row in the DataTable table

           foreach (OrderDetails order in orderDetailsList)
           {
               int index = orderlist.FindIndex(item => item.ID == order.OrderID);

               if (index >= 0)
               {
                   // element exists, do what you need
                   DataRow row = detailstable.NewRow();

                   //Fill All Columns with Data
                   row[orderdID] = order.OrderID;
                   row[itemID] = order.ItemID;
                   //  item = SQLComm.GetItemFromCode(order.ItemID.ToString());
                   ItemInfo search = new ItemInfo();
                   search = items.Find(item => item.ID == order.ItemID);
                   row[itemCode] = search.Name;
                   row[itemPrice] = search.SalePrice;

                   if (SSOption.LoginLevel == 0)
                   {
                       //Add the Row into Dataordertable
                       detailstable.Rows.Add(row);
                   }
                   else if (SSOption.LoginUsername ==SQLComm.GetUserFormID(SQLComm.GetUserFromOrder(order.OrderID)).Name)
                   {
                       detailstable.Rows.Add(row);
                   }

               }

           }
           //Want to bind this DataTable to a GridView?
           DataSet dsorders = new DataSet("Orders");
           dsorders.Tables.Add(ordertable);
           dsorders.Tables.Add(detailstable);
           DataColumn colchild = dsorders.Tables[1].Columns[0];
           DataRelation drOrderID = new DataRelation("ordersID", dsorders.Tables[0].Columns[0], colchild);
           dsorders.Relations.Add(drOrderID);


这篇关于将数据表值及其关系分配给数据集.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆