【发布时间】:2010-04-30 15:08:40
【问题描述】:
我设置了我的 gridview 以正确处理编辑、删除和插入操作。我的网格还支持分页和排序。我的问题是如何突出显示并转到网格中新插入的行?
【问题讨论】:
-
你能指定什么属性区分“新插入”和旧插入吗?
我设置了我的 gridview 以正确处理编辑、删除和插入操作。我的网格还支持分页和排序。我的问题是如何突出显示并转到网格中新插入的行?
【问题讨论】:
创建一个属性为shouldHighlight,它将定义要突出显示的特定行。
无论添加或更新哪条记录,将标志设置为真,对于其他记录,设置为假。
在 RowDataBound 事件中, 检查特定行的标志是否为真,将 CSS 或背景颜色应用于该行。
protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Record objR = (Record)e.Row.DataItem;
if (objR.shouldHighLight)
{
e.Row.BackColor = System.Drawing.Color.LightBlue;
}
}
}
在我的示例中,Record 是一个类
作为
public class Record {
public string Name { get; set; }
public bool shouldHighLight { get; set; }
}
让我知道你的想法。
【讨论】:
如果新插入的行始终是网格的最后一行(例如,第一行),那么您可以让网格在执行插入后选择第一行或最后一行。
我的建议(如果此方法适用)是在插入后执行重新绑定后立即执行您的选择代码。如果由于任何原因您不能这样做,那么当插入新行时,在 Session 对象中存储一个值以指示已添加新行(例如Session("RowAdded") = True)并在您的网格上检查它数据绑定事件。
HTH,
理查德。
【讨论】: