0

当我在绑定gridview之前访问数据库时,gridview再也不会在这里绑定一些代码:

    void Page_Load(object sender, EventArgs e)
{ 
    if (!IsPostBack)
    {
        date.Date = DateTime.Now;
        string mode = Request.Params["mode"].ToString().ToLowerInvariant();
        lblPatientName.Text= Session["PatientName"].ToString();
        switch (mode)
        {
            case "new":
                {
                    Page.Title = "Add New Patient Visit";

                    Session["visitID"] = System.Guid.NewGuid();

                    //get basic data (countrycode,cityCode,districtCode,areaCode) from patientdata table
                    SqlParameter pra = new SqlParameter("@Patientid", Session["PatientID"].ToString());
                    SqlDataReader dr = SqlHelper.ExecuteReader(ConfigurationManager.ConnectionStrings["NetCareConnectionString"].ConnectionString,
                           "PatientPrescriptionInsertPrepare", pra);

                    if (dr.Read())
                    {
                        SqlParameter[] prm = new SqlParameter[7];

                        prm[0] = new SqlParameter("@visitID", Session["visitID"].ToString());
                        prm[1] = new SqlParameter("@Patientid", Session["PatientID"].ToString());
                        prm[2] = new SqlParameter("@Specialization", Session["special"].ToString());
                        prm[3] = new SqlParameter("@countrycode", dr["CountryCode"].ToString());
                        prm[4] = new SqlParameter("@cityCode", dr["CityCode"].ToString());
                        prm[5] = new SqlParameter("@districtCode", dr["DistrictCode"].ToString());
                        prm[6] = new SqlParameter("@areaCode", dr["AreaCode"].ToString());
                        SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PreparePrescrption", prm);
                    }

                }
                break;
        }

    }
}  

当我使用事件绑定网格时,当我删除上面的代码时,一切都运行良好:

 protected void btnAdd_Click(object sender, EventArgs e)
{

    SqlParameter [] prm = new SqlParameter[3];
    prm[0] = new SqlParameter("@visitID", Session["visitID"].ToString());
    prm[1] = new SqlParameter("@Patientid", Session["PatientID"].ToString());
    prm[2] = new SqlParameter("@examinationcode", Session["Examinationcode"].ToString());
    SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PatientExaminations_insert", prm);
    gvParientInvs.DataBind();
}
4

1 回答 1

0

您应该调用 ASPxGridView 的 DataBind 方法来强制网格从底层 DataSource 获取数据。此外,如果您在运行时设置 ASPxGridView 的 DataSource,您应该在对服务器的每个请求都执行此操作,如

为什么分页(排序、分组、过滤)在 ASPxGridView 中不起作用?

文章。

于 2011-01-24T16:05:05.080 回答