簡體   English   中英

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

[英]VB.Net Web Application how to add a column below a column on a GridView

如何在另一列下添加一列,以便在進行查詢輸出時在同一行中有兩個輸出值? 在我的情況下,我想顯示 Emp ID,在該列下我想顯示 Cust ID,以便 GridView 表看起來像這樣

Emp ID, Rgst ID, Line #, Disc CD, Auth Emp ID, Orig Prc, Disc Amt, Disc Pct, GL Acc ID

客戶編號

另一個問題是如何在“原始 Prc”輸出的末尾添加一列或標題作為總計並將所有“原始 Prc”相加到總計,以便它可以在與“原始 Prc”相同的列中輸出結果? 所以它看起來像這樣:

原中國

原始 prc 輸出

全部的

輸出是所有 orig 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

網格視圖

<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>

https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.templatecolumn?view=netframework-4.8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM