gridview新增列计算问题
请问各位大大,
小弟gridview控件绑定数据库有开始时间和结束时间两列。现在想编辑gridview模板新增一列,计算出结束时间和开始时间之差。请问如何实现?
请说的详细点,本人菜鸟。
[解决办法]
在后台GridView的ItemDataBound事件中获取每行的DataItem,进行相关的差值计算后将值赋给模板列即可。
[解决办法]
在需要的时候,比如点编辑时增加一列
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
BoundField field = new BoundField();
field.DataField = attribute.AttName;
field.HeaderText = attribute.AttName;
field.ItemStyle.CssClass = "gdv_pdmItemLeft";
field.HeaderStyle.CssClass = "gdv_pdmItemLeft";
//field.SortExpression = attribute.AttName;
GridView1.Columns.Add(field); //或者Insert
BindData();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowState&DataControlRowState.Edit) == DataControlRowState.Edit && e.Row.RowType == DataControlRowType.DataRow)
{
var dataRow = e.Row.DataItem as DataRowView; //或者实体类
//取出要运算的列(或属性),得出时间差
//绑定至新增的列
}
}
在OnRowCancelingEdit和OnRowUpdated事件中移除相应的列