添加两个具有条件的Gridview列

时间:2013-02-23 01:48:07

标签: asp.net sql tsql

我有一个编码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();

。 。

请等待你的帮助。

非常感谢。

1 个答案:

答案 0 :(得分:0)

GridView允许添加列。我使用TemplateField并在ItemTemplate我使用标签,并使用其他单元格数据的结果进行数学计算,并在其中显示结果。在后面的代码中创建一个子例程,并为每一行使用For Looprow.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