微软chart数据绑定


根据官方文档的说法,只要实现了IEnumberable接口的数据类型,都可以绑定到图标控件中,例如:dataview,
datareader,dataset,datarow,datacolumn,array,list,sqlcommand,oledbcommand,sqldataadapter及oledbdataadapter对象。


方法一:以行的方式读取数据库查询出来的结果集(data binding a table)
SqlConnection cn = new SqlConnection();   //打开一个与数据库的连接
            cn.ConnectionString = @"Data Source=;database=;uid=;pwd="; //建立连接
            SqlCommand cmd = cn.CreateCommand();   // SqlCommand  对数据库执行一个 Transact-SQL 语句或存储过程
            cmd.CommandText = "brandInfo";   // SqlCommand . CommandText   获取或设置要对数据源执行的 Transact-SQL 语句或存储过程。
            cn.Open(); // 使用   ConnectionString 所指定的属性设置打开数据库连接。
            SqlDataReader dr = cmd.ExecuteReader();   // SqlDataReader   提供一种从 SQL Server 数据库读取行的只进流的方式。 若要创建  SqlDataReader ,必须调用 SqlCommand 对象的   ExecuteReader 方法,而不要直接使用构造函数。
             while (dr.Read())
        {
            Chart1.Series[0].Points.AddXY(Convert.ToString(dr["ShopName"]), Convert.ToString(dr["count"]));
        }          或者  
Chart1.DataBindTable(dr, "ShopName");  // 因为数据源中只有两列ShopName和count,因此在调用Chart1.DataBindTable方法的时候,告诉了图表X轴的名称为ShopName,因此自动将count设置为Y轴的数据了

            dr.Close();// 在使用 SqlDataReader 时,关联的   SqlConnection 正忙于为  SqlDataReader 服务,对  SqlConnection 无法执行任何其他操作,只能将其关闭。除非调用   SqlDataReader 的 close 方法,否则会一直处于此状态。
            cn.Close();   // 关闭与数据库的连接。这是关闭任何打开连接的首选方法。
      }

方法二:确定X和Y轴要绑定的数据字段(data source bind)
SqlConnection cn = new SqlConnection();  
cn.ConnectionString = @"Data Source=;database=;uid=;pwd="; 
SqlCommand cmd = cn.CreateCommand();  
cmd.CommandText = "brandInfo";  
cn.Open();
chart1.DataSource =   cmd   ;
chart1.Series[0].XValueMember = "  ShopName  ";
chart1.Series[0].YValueMembers = "count"; 
chart1.DataBind();
或者
SqlDataReader dr = cmd.ExecuteReader();
Chart1.Series[0].Points.DataBindXY(dr, " ShopName  ", dr, " count "); 
或者
Chart1.Series[0].Points.DataBind(dr,"ShopName","count","");
上面三种方法需要自己建立series,要显示两个柱状图,像上面的例子中的图像,那么得手动建立两个series,然后分别进行上面的绑定操作。

目前运用的只有这些,研究还未完待续。。。。。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值