zoukankan      html  css  js  c++  java
  • 读书笔记 UltraGrid(9)

    关于SqlDataAdapter填充数据
    1. SqlDataAdapter da = new SqlDataAdapter("select * from customers", cnnstring);
    da.Fill(data);
    如果不指名源表名,则缺省为Table;
    2.public int Fill(DataSet dataSet,string srcTable)用于表映射的源表的名称。
    da.Fill(data,"客户");
    指定原表名为"客户",填充后datatable的名称也为"客户",这点有点奇怪呢。
    3.使用TableMapping
    SqlDataAdapter da = new SqlDataAdapter("select * from customers", cnnstring);
    da.TableMappings.Add("customers", "客户");
    da.Fill(data, "customers");

    da = new SqlDataAdapter("select * from pdctorders;", cnnstring);
    da.TableMappings.Add("PdctOrders", "订单");
    da.Fill(data, "PdctOrders");
             
    da = new SqlDataAdapter("select * from SaleContracts", cnnstring);
    da.TableMappings.Add("SaleContracts", "合同");
    da.Fill(data, "SaleContracts");
    这样指定了源表和datatable的对应关系,这样填充后相应的datatable表名分别为"客户"、"订单"和"合同"。
    4.实际上有更简单的写法
    SqlDataAdapter da = new SqlDataAdapter("select * from customers;select * from pdctorders;select * from SaleContracts;", cnnstring);
    da.TableMappings.Add("Table", "客户");
    da.TableMappings.Add("Table1", "订单");
    da.TableMappings.Add("Table2", "合同");
    da.Fill(data);
    注意Table\Table1\Table2的写法
    5:建立关系
    DataRelation mydr = new DataRelation("Customers_PdctOrders", data.Tables["客户"].Columns["CustID"], data.Tables["订单"].Columns["CustID"], false);
    data.Relations.Add(mydr);
    DataRelation mydr2 = new DataRelation("Customers_SaleContracts", data.Tables["客户"].Columns["CustID"], data.Tables["合同"].Columns["CustID"], false);
    data.Relations.Add(mydr2);
    这样this.ultraGrid1.DataSource = data;
    绑定数据后即可以层次关系体现了。

  • 相关阅读:
    人月神话阅读笔记03(完)
    人月神话阅读笔记02
    各种前端好用的在线工具、学习网站、插件
    垂直居中css
    输入框判断表情的输入js
    jq九宫格抽奖
    移动端中一像素的解决方案
    获取url地址栏中的参数数据
    ios中getTime()的兼容性问题
    清除Css中select的下拉箭头样式
  • 原文地址:https://www.cnblogs.com/chump/p/2347254.html
Copyright © 2011-2022 走看看