我有一个编码C#的asp.net项目。
我有这样的问题; “我需要在gridview中计算单元格的添加”我该怎么做。我需要将IN和OUT分钟相加并将它们除以60以找工作时间。
选择sum(cell1 + cell2),因为我有一个像这样的网格;
NAME WORK_TYPE FM FM_HOUR
-------------------------------------------------------
Mike IN -2800
Mike OUT 3400 ??
Jane IN 400
Jane OUT -100 ??
应该是什么?在这里标记。
我写过这篇文章,但课程不起作用。因为该程序不知道如何从那里获取值。
以下是示例代码;
SqlConnection conn;
SqlCommand cmd = new SqlCommand();
string strSQL = "UPDATE bilgiler3 SET FM_HOUR= SELECT SUM((FM WHERE WORK_TYPE='OUT') + (FM WHERE WORK_TYPE='IN')) / 60 "
string bag_str = WebConfigurationManager.ConnectionStrings["asgdb01ConnectionString"].ConnectionString;
conn = new SqlConnection(bag_str);
conn.Open();
。 。
请等待你的帮助。
非常感谢。
答案 0 :(得分:0)
GridView
允许添加列。我使用TemplateField
并在ItemTemplate
我使用标签,并使用其他单元格数据的结果进行数学计算,并在其中显示结果。在后面的代码中创建一个子例程,并为每一行使用For Loop
。 row.FindControl
将帮助您找到标签并显示结果。如果您使用BoundFields
切换到TemplateFields
,那么您可以进行控制,您可以找到并获得值。
<Columns>
<asp:TemplateField HeaderText="some header info">
<ItemTemplate >
<asp:Label ID="lbId" runat="server" Text='<%# Eval("Id") %>' />
</ItemTemplate>
</asp:TemplateField>...
For Each row As GridViewRow In gv.Rows
Dim id As Label = TryCast(row.FindControl("lbId"), Label)
'other variables
Next