注册 登录
编程论坛 ASP技术论坛

gridview RowDataBound事件绑定事只绑定第一行数据或者隔一行绑定,什么情况?

a8854827 发布于 2013-10-24 00:37, 557 次点击
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
程序代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
      

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
           

            string userid = e.Row.Cells[1].Text.ToString();
            string sql = "select * from tb_user where id = " + userid;
            if (co.execSQL(sql))
            {
                SqlDataReader reader = co.getRow(sql);
                reader.Read();
                e.Row.Cells[1].Text = reader["name"].ToString();
            }
        }



[ 本帖最后由 a8854827 于 2013-10-24 00:52 编辑 ]
2 回复
#2
hugeannex2013-10-24 11:22
用久没用.net了,用.net也很少用里面的控件。
但是,
你这种思路是不对的,不应该每一行都查一遍数据库来绑定数据,而是联表查询,比如left join或right join.
最后,e.Row.Cells[1].Text那不是“最近操作人”字段?“最近操作人”为userid?
#3
a88548272013-10-24 19:03
回复 2楼 hugeannex
嗯,多表连接起来,设定绑定字段就解决了,遇到不同表里面相同名称的属性,取个别名就可以了,当时脑子没转过来,呵呵
1