第一次查询数据库所有信息,在窗体load进行绑定的时候没有问题都有值,但是,按上面的条件再进行查询的时候,dataGridView就没有值出现 ,但在后台执行SQL语句时有数据,打断点跟踪DAL方法时,同样每个属性都有值,但是就是在传回来的时候不好用,一片空白,附上代码
//窗体代码
 private void 场内车辆_Load(object sender, EventArgs e)
        {
           
            Bind();
        }
        public void Bind()
        {
            dgvRuChang.AutoGenerateColumns = false;
            dgvRuChang.DataSource = bsb.GetNoExitCar();
        }
             
        //根据车主姓名查询
        private void button1_Click(object sender, EventArgs e)
        {
            dgvRuChang.DataSource = null;
            dd();
           
        }        public  void dd()
        {
             string param = "";
            switch (cbbTiaoJian.Text)
            {
                case "卡号":
                    param = txtParam.Text;
                    dgvRuChang.DataSource = bsb.GetByUserName(param); 
                    break;
                case "车主姓名":
                    param = txtParam.Text;
                    dgvRuChang.DataSource = bsb.GetByUserName(param); 
                    break;
                default:
                     param = txtParam.Text;
                    dgvRuChang.DataSource = bsb.GetByUserName(param);
                    break;
            }
        }
//后台DAL方法
 //场内车辆页面,根据车主名字查询
        public BusResordModel GetByUserName(string userName)
        {
            try
            {
                SqlParameter[] parm = { sqlH.MakeInParam("@userName", SqlDbType.NVarChar, 50, userName)};
                using (SqlDataReader dr = sqlH.ExecuteReader("SelectByUserName", CommandType.StoredProcedure, parm))
                {
                    BusResordModel busM = new BusResordModel();
                    while (dr.Read())
                    {
                        busM.CardNo = dr["cardNo"].ToString();
                        busM.UserName = dr["userName"].ToString();
                        busM.BusNo = dr["busNo"].ToString();
                        busM.BusType = dr["busType"].ToString();
                        busM.InTime = dr["inTime"].ToString();
                        busM.InAddr = dr["inAddr"].ToString();
                        busM.Picture = dr["picture"].ToString();
                        busM.Guid = dr["guid"].ToString();
                    }
                    return busM;
                }
            }
            catch
            {
                return null;
            }
        }
busM里的各个字段在打断点跟踪的时候均有值

解决方案 »

  1.   

    你点击按钮根据条件查询后返回数据,datagridview是需要重新绑定数据源的
      

  2.   

    返回一个类给dataGridView 当然没有显示了  返回别的吧
      

  3.   

      dgvRuChang.AutoGenerateColumns = false;
    这几拿出来
      

  4.   

    但是我那个bind是查询所有的方法啊
      

  5.   


    再次调用BIND方法,就又恢复到查询所有的数据了
      

  6.   

    返回一个datatable或者泛型 绑上去   现在返回的是BusResordModel 
      

  7.   

    但是我之前一直返回的都是model类型