0

グリッドビューをバインドする前にデータベースにアクセスすると、グリッドビューはここで再びバインドされることはありません。

    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 に答える