如何解决动态gridview列自动计算
| 我有一个Gridview,在templatefields中有文本框,在其中动态地向其中添加列。 protected void grid()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn(\"SerialNumber\",typeof(string)));
dt.Columns.Add(new DataColumn(\"Material\",typeof(string)));
dt.Columns.Add(new DataColumn(\"Bags\",typeof(string)));
dt.Columns.Add(new DataColumn(\"GrossWt\",typeof(string)));
dt.Columns.Add(new DataColumn(\"TareWt\",typeof(string)));
dt.Columns.Add(new DataColumn(\"NetWt\",typeof(string)));
dt.Columns.Add(new DataColumn(\"BillWt\",typeof(string)));
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
dr[\"SerialNumber\"] = 1;
GridView1.DataSource = dt;
GridView1.DataBind();
}
我需要使NetWt列具有使用GrossWt和TareWt列的自动校准值。公式应为(grosswt-tarewt)/ 1000。但是我不知道该怎么做。有任何想法吗??
解决方法
protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e){
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[5] = (e.Row.Cells[3].Text - e.Row.Cells[4].Text)/1000
}
}
尝试这个
, 假设用户编辑值,则可以将自己的处理程序添加到CellValidated事件,然后对值进行任何操作:
myDataGridView.CellValidated += new System.Windows.Forms.DataGridViewCellEventHandler(myDataGridView_CellValidated);
[...]
private void myGridView_CellValidated(object sender,DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == myGridView.Columns[\"GrossWt\"].Index){
myGridView.Rows[e.Index].Cells[\"NewWT\"].Value = (
myGridView.Rows[e.Index].Cells[\"GrossWT\"].Value -
myGridView.Rows[e.Index].Cells[\"TareWT\"].Value ) /1000;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。