Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net VB.Net Web应用程序如何在GridView上的列下方添加列_Asp.net_Vb.net_Web Applications - Fatal编程技术网

Asp.net VB.Net Web应用程序如何在GridView上的列下方添加列

Asp.net VB.Net Web应用程序如何在GridView上的列下方添加列,asp.net,vb.net,web-applications,Asp.net,Vb.net,Web Applications,如何在另一列下添加一列,以便在进行查询输出时,在同一行中有两个输出值?在我的例子中,我想显示Emp ID,在该列下我想显示Cust ID,这样GridView表可以如下所示 Emp ID、Rgst ID、第#行、光盘CD、验证Emp ID、原始Prc、光盘金额、光盘Pct、总账Acc ID 客户ID 另一个问题是,我如何在“原始Prc”输出的末尾添加一列或标题作为总计,并将所有“原始Prc”相加为总计,以便它可以在与“原始Prc”相同的列中输出结果?所以它可以是这样的: 原中国 原始prc输出

如何在另一列下添加一列,以便在进行查询输出时,在同一行中有两个输出值?在我的例子中,我想显示Emp ID,在该列下我想显示Cust ID,这样GridView表可以如下所示

Emp ID、Rgst ID、第#行、光盘CD、验证Emp ID、原始Prc、光盘金额、光盘Pct、总账Acc ID

客户ID

另一个问题是,我如何在“原始Prc”输出的末尾添加一列或标题作为总计,并将所有“原始Prc”相加为总计,以便它可以在与“原始Prc”相同的列中输出结果?所以它可以是这样的:

原中国

原始prc输出

总数

输出是所有原始prc输出的总和

这可以用当前方法完成吗?或者我是否改变了在ViewGrid上输出数据的方法

这是我当前的代码:

Protected Sub ExecuteButton_Click(sender As Object, e As EventArgs) Handles ExecuteButton.Click
    Dim StoreID As Integer
    Dim TransID As Integer
    Dim RgstID As Integer
    Dim dt As DataTable

    If Not Integer.TryParse(StoreIDTextbox.Text, StoreID) Then
        MsgBox("Invalid input. Please enter both Store ID and Transaction ID.")
        Exit Sub
    End If

    If Not Integer.TryParse(TransactionIDTextbox.Text, TransID) Then
        MsgBox("Invalid input. Please enter both Store ID and Transaction ID.")
        Exit Sub
    End If

    Sql.AddParam("@Str_ID", StoreID)
    Sql.AddParam("@Tran_ID", TransID)

    'Rgst_ID Validation
    If RegisterIDTextbox.Text.Length = 0 Then
        SQL.AddParam("@Rgst_ID", "")
    ElseIf RegisterIDTextbox.Text.Length > 0 Then
        RgstID = Integer.Parse(RegisterIDTextbox.Text)
        Sql.AddParam("@Rgst_ID", RgstID)
    End If

    Try
        dt = SQL.ExecQuery("Select H.Emp_ID, H.Cust_ID, H.Rgst_ID, D.TRAN_LN_NUM, D.DISC_CD, D.AUTH_EMP_ID, D.ORIG_PRC, D.DISC_AMT, D.DISC_PCT, D.GL_ACCT_ID 
                             From Transaction_Header H 
                             INNER Join LN_Detail L On (H.Str_ID = L.Str_ID And H.Rgst_ID = L.Rgst_ID And H.Tran_ID = L.Tran_ID)
                             INNER Join LN_Discount D ON (L.Str_ID = D.Str_ID And L.Rgst_ID = D.Rgst_ID And L.Tran_ID = D.Tran_ID And L.Tran_LN_Num = D.Tran_LN_Num)  
                             WHERE(H.Str_ID = @Str_ID)
                                And (H.Tran_ID = @Tran_ID)
                                And ((H.Rgst_ID = @Rgst_ID) Or (@Rgst_ID Is NULL Or @Rgst_ID = ''))")

    Catch ex As Exception
        MsgBox(ex.Message)
        Exit Sub
    End Try

    GridView2.DataSource = dt
    GridView2.DataBind()

    TimeLabel.Text = DateAndTime.Now
GridView

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns ="False" CellPadding="4" ForeColor="#333333">
                        <AlternatingRowStyle BackColor="White" />
                        <Columns>
                            <asp:BoundField DataField="Emp_ID" HeaderText="Emp ID" /> 
                            <asp:BoundField DataField="Cust_ID" HeaderText="Cust ID" />
                            <asp:BoundField DataField="Rgst_ID" HeaderText="Rgst ID" />
                            <asp:BoundField DataField="TRAN_LN_NUM" HeaderText="Line #" />
                            <asp:BoundField DataField="DISC_CD" HeaderText="Disc CD" />
                            <asp:BoundField DataField="AUTH_EMP_ID" HeaderText="Auth Emp ID" />
                            <asp:BoundField DataField="ORIG_PRC" HeaderText="Orig Prc" />
                            <asp:BoundField DataField="Disc_Amt" HeaderText="Disc Amt" />
                            <asp:BoundField DataField="Disc_Pct" HeaderText="Disc Pct" />
                            <asp:BoundField DataField="GL_ACCT_ID" HeaderText="GL Acct ID" />
                        </Columns>

在GridView标记中使用TemplateColumns,这将为您提供所需的灵活性,例如:

             <asp:TemplateColumn>
           <HeaderTemplate>
              <b> Tax </b>
           </HeaderTemplate>
           <ItemTemplate>
              <asp:Label
                   Text='<%# DataBinder.Eval(Container.DataItem, "Tax") %>'
                   runat="server"/>
           </ItemTemplate>
           <EditItemTemplate>
              <asp:CheckBox
                   Text="Taxable" 
                   runat="server"/>
           </EditItemTemplate>
           <FooterTemplate>
              <asp:HyperLink id="HyperLink1"
                   Text="Microsoft"
                   NavigateUrl="http://www.microsoft.com"
                   runat="server"/>
           </FooterTemplate>
        </asp:TemplateColumn>