一个GridView,添加了TemplateField里的修改按键。
<asp:GridView ID="GridView3" runat="server" CssClass="table table-bordered table-hover" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="单位" HeaderText="单位" />
<asp:BoundField DataField="预计金额" HeaderText="预计金额" />
<asp:BoundField DataField="金额" HeaderText="实际金额" />
<asp:BoundField DataField="备注" HeaderText="备注" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" CommandName="UpdateById" CommandArgument='<%# Eval("ID") %>' CssClass="btn btn-primary">修改</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码里添加了一个合计行。
DataTable dt1 = new DataTable();
dt1.Columns.Add("ID", typeof(int));
dt1.Columns.Add("单位", typeof(string));
dt1.Columns.Add("预计金额", typeof(decimal));
dt1.Columns.Add("金额", typeof(decimal));
dt1.Columns.Add("备注", typeof(string));
foreach (DataRow row1 in ds1.Tables[0].Rows)
{
U_分解合同单位.GetModel(Convert.ToInt32(row1["分解合同单位ID"]));
U_单位.GetModel(Convert.ToInt32(U_分解合同单位.单位ID));
dt1.Rows.Add(Convert.ToInt32(row1["ID"]), U_单位.名称, Math.Round(Convert.ToDecimal(row1["预计金额"]), 2), Math.Round(Convert.ToDecimal(row1["金额"]), 2), row1["备注"].ToString());
}
dt1.DefaultView.Sort = "ID";
DataRow totalRow = dt1.NewRow();
totalRow["ID"] = 99999999;
totalRow["单位"] = "合计:";
totalRow["预计金额"] = dt1.Compute("Sum(预计金额)", "");
totalRow["金额"] = dt1.Compute("Sum(金额)", "");
totalRow["备注"] = "";
dt1.Rows.Add(totalRow);
GridView3.DataSource = dt1;
GridView3.DataBind();
结果如图,合计行里也有个修改按键,不知道怎么解决。