1

グリッド ビューで最後に挿入されたレコードを強調表示したい。私のグリッド ビューには、主キー列があります。新しく挿入された行は、この主キーの昇順に従って配置されます。今、最後に挿入された行を強調表示したいと思います。私がこのように書いた検索から、強調表示されたグリッド ビューの最後の行が表示されます。新しく挿入された行ではありません。助けてください。私のコードはここにあります、

   int lastRowIndex = 0;

     if(!IspostBack)
       {
  string select_string="SELECT student_name,student_id,student_nric,student_group FROM student_details WHERE student_group='"+groups[0].ToString().Trim()+"' ";
        for(int i=1;i<groups.Count;i++)
        {
            select_string+= " or student_group='"+groups[i].ToString().Trim()+"'";    
        }

        if(Session["STUDENT_ID"]!=null)
        {

        for(int i=0;i<student_id_list.Count;i++)
        {
            select_string+= " or student_id='"+student_id_list[i].ToString().Trim()+"'";    

        }
        }
     SqlDataAdapter adapter = new SqlDataAdapter(select_string, con);
        adapter.Fill(ds);
        GridView2.DataSource = ds;
        GridView2.DataBind();
        con.Close();


        foreach (GridViewRow grv in GridView2.Rows)
        {
            if (grv.RowType == DataControlRowType.DataRow)
            {
                if (grv.RowIndex > lastRowIndex)
                {
                    lastRowIndex = grv.RowIndex;
                }
            }
        }
        lastRowIndex = GridView2.Rows.Count - 1;

        GridView2.Rows[lastRowIndex].BackColor = System.Drawing.Color.LightGoldenrodYellow;

    }
}

}

4

2 に答える 2

1

あなたの問題はここにあると思います:

lastRowIndex = GridView2.Rows.Count - 1;

あなたは常にlastRowIndexを同じものに設定します...

RowsAdded イベントを使用できます。

private void grv_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
    // the new row = e.RowIndex
}
于 2013-08-06T06:29:09.710 に答える