0

我试图让gridview在页面加载时自动选择第一行数据。但是,在gridview中,它显示第一行正在突出显示

在此处输入图像描述

但我的文本框中没有显示任何数据。只有当我再次单击网格视图中的选择按钮时,才会出现数据。

这就是我在页面加载中添加自动选择 gridview 行的方式

protected void Page_Load(object sender, EventArgs e)
    {          
        if (!IsPostBack)
            {
                 gvnric.SelectedIndex = 0;
            }
        }

这就是我将数据从我的 gridview 获取到我的文本框的方式

protected void gvnric_SelectedIndexChanged(object sender, EventArgs e)
    {
        Session["nric"] = gvnric.SelectedRow.Cells[1].Text;


        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        con.Open();
        SqlCommand cm = new SqlCommand("Select fullname, contact, address, email From MemberAccount Where nric = '" + Session["nric"] + "'", con);
        SqlDataReader dr;
        dr = cm.ExecuteReader();
        if (dr.Read())
        {
            txtFullName.Text = dr["fullname"].ToString();
            txtAddress.Text = dr["contact"].ToString();
            txtContact.Text = dr["address"].ToString();
            txtEmail.Text = dr["email"].ToString();
        }
        con.Close();

        Image1.Attributes["src"] = "MemberNricCard.aspx?";
        Image1.Attributes["height"] = "200";
        Image1.Attributes["width"] = "200";
    }

但是,当页面加载时已经选择了第一行时,可能导致数据不显示的原因。

4

2 回答 2

0

您可以在页面加载中调用您的 gridview 代码

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            {

                gvnric.SelectedIndex = 0;
                gvnric_SelectedIndexChanged(this, EventArgs.Empty);
            }
        }
于 2013-09-04T04:25:12.940 回答
0

我会重新考虑以下代码:

页面加载

if (!IsPostBack)
{
     gvnric.SelectedIndex = 0;
     LoadFormFields();
}

gvnric_SelectedIndexChanged

protected void gvnric_SelectedIndexChanged(object sender, EventArgs e)
{
    LoadFormFields();
}

LoadFormFields用你所拥有的创造gvnric_SelectedIndexChanged

于 2013-09-04T04:03:45.277 回答