关于《网络编程自学手册》中获取GridView控件中的数据的2个问题?
发表在ASP.NET图书答疑 2009-02-17
是否精华
版块置顶:
1,在《范例宝典》实例Ex04_27中,我增加一个GridView控件(GridView2)和一个Button控件,我想按Button控件时,GridView2显示我在GridView1中选择的数据,程序如下:
 protected void Button_Click(object sender, EventArgs e)
    {
        sqlcon = new SqlConnection(strCon);
        SqlCommand sqlcom;
        for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
        {
            CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
            if (cbox.Checked == true)
            {

                string sqlstr = "select * from tb_Member where id='" + GridView1.DataKeys[i].Value + "'";
                sqlcon = new SqlConnection(strCon);
                SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
                DataSet myds = new DataSet();
                sqlcon.Open();
                myda.Fill(myds, "tb_Member");
                GridView2.DataSource = myds;
                GridView2.DataBind();
                sqlcon.Close();
            }
        }
     }

为何GridView2控件只显最后一行数据?

2,为获取GridView控件中的数据,我在控件中增加一个CommandField下的" 选择"字段,我根据《网络编程自学手册》ch08_6例子的:
  protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        //设置GridView控件的编辑项的索引为选择的当前索引
        GridView1.EditIndex = e.NewEditIndex;
        Bind();//自定义事件用来绑定GridView
    }
  protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        //设置GridView控件的编辑项的索引为-1,即取消编辑
        GridView1.EditIndex = -1;
        Bind();//自定义事件用来绑定GridView
    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        SqlConnection con = new SqlConnection("server=.;database=mr_08;uid=sa;pwd=;");
        con.Open();
        //获得学生编号字段
        string id=((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.Trim();
      
         TextBox1.Text = id.Tostrng();///这里为何不显示数据???
}
为何在TextBox1.Text不显示我选中行的id字段?
分享到:
精彩评论 2
mylove2008
学分:0 LV1
2009-02-17
沙发
1.“按Button控件时,GridView2显示我在GridView1中选择的数据”你的这个Button控件放那里了呀?放在了GridView1控件的模板中了?
还有你试下把这行代码for (int i = 0; i <= GridView1.Rows.Count - 1; i++)改成:for (int i = 0; i <= GridView1.Rows.Count1; i++),你这里出现的问题是不是“GridView2控件只显最后一行数据”?
2。
string id=((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.Trim();

TextBox1.Text = id.Tostrng();

中的TextBox1放在那了?GridView1.Rows[e.RowIndex]这里是获取GridView控件的行索引,你用TextBox1.Text = id.Tostrng();是获取不上该行数据的。

guangyuan
学分:0 LV1
2009-02-18
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
1.“按Button控件时,GridView2显示我在GridView1中选择的数据”你的这个Button控件放那里了呀?放在了GridView1控件的模板中了?
还有你试下把这行代码for (int i = 0; i <= GridView1.Rows.Count - 1; i++)改成:for (int i = 0; i <= GridView1.Rows.Count1; i++),你这里出现的问题是不是“GridView2控件只显最后一行数据”?
2。
string id=((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.Trim();

TextBox1.Text = id.Tostrng();

中的TextBox1放在那了?GridView1.Rows[e.RowIndex]这里是获取GridView控件的行索引,你用TextBox1.Text = id.Tostrng();是获取不上该行数据的。


[/FIELDSET]

回复:
谢谢!问题1已解决!
问题2还搞不掂,我就想获取GridView控件中某一行的数据,并在TextBox控件上显示!(TextBox控件在GridView控件外)!要用到FindControl吗?
  
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照