我要把gridview里某一列字段为空的 都用粗体显示
但是现在只有第一页是正确的  如果换页的话 还是按着第一页哪行是粗体 第二页就哪行是粗体   第二页就乱了
public void BindGrid()
    {
        string uid = Session["uid"].ToString();
        string tname = Session["tname"].ToString();
        string STstrsql = "select Adate,Aname,Asno,Aplan,Asummary,Acomment from attendence where Asno in (select sno from student where steacher='" + tname + "')order by Adate desc";
        SqlConnection STconn = new SqlConnection(STconnection);
        //创建SqlDataAdapter的实例
        SqlDataAdapter STsda = new SqlDataAdapter(STstrsql, STconn);
        //创建DataSet的实例
        DataSet STds = new DataSet();
        STconn.Open();
        //将信息填充到DataSet
        STsda.Fill(STds,"attendence");
        //将信息绑定到GridVeiw
        STmyGrid.DataSource = STds;
        STmyGrid.DataBind();
        STmyGrid.Columns[2].Visible = false;//隐藏学号
        for (int i = 0; i <= STmyGrid.Rows.Count - 1; i++)
        {
            DataRowView mydrv = STds.Tables["attendence"].DefaultView[i];
            if ( mydrv["Acomment"].Equals(System.DBNull.Value))//大家这里根据具体情况设置可能ToInt32等等
                STmyGrid.Rows[i].Font.Bold = true;
            else if (mydrv["Acomment"].ToString()=="")
                STmyGrid.Rows[i].Font.Bold = true;
            
        }
        STconn.Close();    }
    //分页显示
    protected void STmyGrid_Page(object sender, GridViewPageEventArgs e)
    {
        STmyGrid.PageIndex = e.NewPageIndex;
        BindGrid();
        
    }
这个填充gridview  和 换页的代码

解决方案 »

  1.   

    看你有 STmyGrid.DataBind(); 应该是webform吧
    但是你的问题没有描述清楚。
    你第一句说是列,第二句有变成是行变粗了。
    如果是行 不能用 GridView的行号来定义样式。其实很简单,如果是列的话,你将该列的CSS定义粗体就可以了。
    如果是行,你可以用jquery的选择器来修改样式。另外看不懂你说的 字段为空的用粗体,字段既然空了又怎么用粗体? 只是表头粗体?
      

  2.   

    我的意思是假如一条数据里面Acomment这一个字段为空,这一条数据其他字段的内容都用粗体显示