无法根据网格视图中的其他列更新列
本文关键字:其他 更新 视图 网格 | 更新日期: 2023-09-27 17:57:46
我有一个网格视图,网格有5个不同的列ID,FirstName,LastName,DateOfBirth和Age,网格视图可以编辑,所以我想根据DateOfBirt列更新Age,所以我在OnRowBound函数中写了必要的功能。当我执行网格视图页面时,我会得到"字符串未被识别为有效日期时间"。
这是OnRowBound 的功能
protected void UserInfoGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DateTime DOBOnGrid = DateTime.ParseExact(e.Row.Cells[3].Text,"MM/dd/yyyy",null);
Label tAge = (Label)e.Row.Cells[4].FindControl("txtAge");
TimeSpan ts = DateTime.Now - DOBOnGrid;
int CurrAge = ts.Days / 365;
tAge.Text = CurrAge.ToString();
}
}
<asp:GridView ID="UserInfoGrid" runat="server" AutoGenerateColumns="False" CellPadding="3"
DataKeyNames="userid" DataSourceID="DataSrcUserInfo"
AllowPaging="True" OnRowDataBound="UserInfoGrid_RowDataBound"
OnRowUpdated="Update" OnRowDeleted="Delete" PageSize="10" >
有人能帮我拿这个吗
谢谢,
首先,您显示的代码不应该在RowUpdating
事件处理程序中吗?至于您收到的错误,很明显是由于生日单元格中的字符串格式不正确。
你检查过空字符串吗?我猜您甚至在GridView
在屏幕上呈现为它在RowDataBound
事件处理程序中之前就已经得到了异常,该事件处理程序在加载GridView时触发。