RTRT,真是奇怪了2005中的居然很难看到DataBind()这个函数了,我以前一直用2003的,以前绑定一个SqlDataReader是绝对没问题的,现在居然不行了,DataGridView中居然找不到DataBind()了,晕

解决方案 »

  1.   

    麻烦大家帮下忙好吗,难道没有人清楚WinForm中DataGridView怎么绑定数据的吗
    public partial class Form1 : Form
    {
      public Form1()
      {
             InitializeComponent();            SqlParameter[] sqlParameters = new SqlParameter[2];
                sqlParameters[0] = new SqlParameter("@SalesID", SqlDbType.VarChar, 13);
                sqlParameters[0].Value = "1102103202102";
                sqlParameters[1] = new SqlParameter("@SubShopID", SqlDbType.VarChar, 6);
                sqlParameters[1].Value = "000001";
                SqlDataReader dr = SQLHelper.ExecuteReader("server=localhost;user id=sa;password=111111;database=EBusiness", CommandType.StoredProcedure, "GetOneSales", sqlParameters);
                this.dataGridView1.DataSource = dr;
                //找不到this.dataGridView1.DataBind();网上搜过很多解答,都说的模模糊糊的,而且都是绑定到DataSet或DataTable,难道VS2005了就不能绑定到DataReader了
        }
    }
      

  2.   

    不用DataBind,直接设置数据源就行了..
      

  3.   

    我记得好像是不能直接绑定DataReader的..得用个BindingSource作个中介..SqlDataReader sdr=cmd.ExecuteReader();BindingSource bs=new BindingSource();bs.DataSource=sdr;this.DataGridView1.DataSource=bs;
      

  4.   

    测试例子如下: private void button2_Click(object sender, EventArgs e)
            {
                SqlConnection con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
                try
                {
                    con.Open();
                    SqlCommand cmd = new SqlCommand("select * from studentDetails", con);
                    SqlDataReader sdr = cmd.ExecuteReader();
                    BindingSource bs = new BindingSource();
                    bs.DataSource = sdr;
                    this.dataGridView1.DataSource = bs;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    con.Close();
                }
            }测试通过>>
      

  5.   

    winform数据绑定是WEB有点小小的区别,不用调用DataBind()方法,
    而且也不支持DataReader的绑定,你可以读取放到Dataset里面,再绑定
    this.dataGridView1.DataSource=你的dataset
    this.dataGridView1.DataMameber=你的表名