我用DataGrid都是用循环来做了. 学习, 等高人.

解决方案 »

  1.   

    问题1:最简单的办法就是直接使用Gridview自带的,那个Select功能,选中某一行
    问题2:可以将image控件放在一个模板列中,使用"? :"三元表达式
    其实还是在RowDataBind中进行循环的
      

  2.   

    http://www.cnblogs.com/wfyfngu/archive/2009/02/01/1381923.html
      

  3.   

     protected void GridView1_DataBinding(object sender, EventArgs e)
        {
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                if (Convert.ToInt32(GridView1.Rows[i].Cells[2]) == 0)
                {
                    //给模板中的imagefield的imgurl赋值
                }
                else
                {
                    //给模板中的imagefield的imgurl赋值
                }
            }
        }现在有两个问题,第一 在绑定钱就触发了DataBinding事件 这样循环是没有值的
    第二,如何给模板中的imagefield附上URL的地址
      

  4.   

    首先 我是根据母版页创建的页面,不能引用CSS与JS
    如果吧这个放到母版中也不合适 还有 很多别的页面表格不需要这样
      

  5.   

    我也是刚接触ASP.NET 不久 有些还不习惯,最好能提供一些代码了 谢谢了
      

  6.   

    我知道判断,但是如何个imagefield赋值我就不知道是那个属性了啊
      

  7.   


      http://www.cnblogs.com/supers/articles/1322739.html楼主看看这个
      

  8.   

    可以在GridView1_RowDataBound里写代码实现!主要看干什么!
      

  9.   

    string d = GridView1.DataKeys[e.Row.RowIndex].Value.ToString(); 
    e.Row.Attributes.Add("onclick ", "if(window.oldtr!=null){window.oldtr.runtimeStyle.cssText= ' ';}this.runtimeStyle.cssText= 'background-color:#e6c5fc '; document.getElementById('hdd').value='" + d + "'; window.oldtr=this ");这个是单击行变色代码!并把索引赋给控件,控件id=hdd
      

  10.   


    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string id = DataBinder.Eval(e.Row.DataItem, "articleid").ToString();//这个ID就可以获取当前行的索引号
                for (int i = 1; i <= 7; i++)//表示第2列到第8列的时候添加onclick事件
                {
                    e.Row.Cells[i].Attributes.Add("onclick", "window.location.href='showinfo.aspx?id=" + id + "&page=" + this.GridView1.PageIndex + "'");
                }
                e.Row.Attributes["style"] = "cursor:hand";
               
             //删除提示的
              if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
                {                ((LinkButton)e.Row.Cells[0].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确定要删除资讯:\"" + ((HyperLink)(e.Row.Cells[2].FindControl("HyperLink1"))).Text + "\"吗?')");
                }
            }
        }这个是选择一整行可以进入第二个页面编辑 你参照下
      

  11.   

    好象简单问题:
    Gridview自带的,那个Select,在GridView的SelectedIndexChanged事件中:
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //获得"是否已读"的值,如果该模板列是Label1
            string a = ((Label)GridView1.SelectedRow.Cells[2].FindControl("Label1")).Text;
            //若"地址"模板列是Label2
            if(a=="0"
            {
                 string b= ((Label)GridView1.SelectedRow.Cells[4].FindControl("Label2")).Text;
                 //给Image赋值
                   ((Image)GridView1.SelectedRow.Cells[1].FindControl("Image1")).ImageUrl=b;
            }
        }