【问题标题】:Gridview, change dynamically headerTextGridview,动态改变headerText
【发布时间】:2013-06-25 13:00:30
【问题描述】:

我有一个gridview,我想动态更改标题的名称。有可能的 ? 我有这个代码:

OracleCommand cmdReqStockComp = new OracleCommand(reqStockCompTotal);
cmdReqStockComp.Connection = oConnexion;
OracleDataReader readerReqStockComp = cmdReqStockComp.ExecuteReader();

// ************** ETAPE 2 : On remplit la GridView ************ //

// On lie le résultat de la requête à la GridView
gvReportingStockComp.DataSource = readerReqStockComp;
gvReportingStockComp.DataBind();

还有这个 aspx 代码:

<asp:GridView ID="gvReportingStockComp" runat="server" AutoGenerateColumns="false" Visible="false">

            <Columns>

                <asp:BoundField DataField="cod_wo" HeaderText="N° OF" />
                <asp:BoundField DataField="composant" HeaderText="Composant" />
                <asp:BoundField DataField="BESOIN" HeaderText="Besoin/OF" />
                <asp:BoundField DataField="BESOIN_T" HeaderText="Besoin total" />
                <asp:BoundField DataField="stock_dispo" HeaderText="Stock dispo" />
                <asp:BoundField DataField="QTE_RESTANTE" HeaderText="Qte restante" />

            </Columns>

        </asp:GridView>

谢谢:)

【问题讨论】:

    标签: c# asp.net gridview headertext


    【解决方案1】:

    在一个非常基本的层面上你可以做到

    gvReportingStockComp.Columns[0].HeaderText = "New Header for First Column";
    

    【讨论】:

    • 它对我不起作用。请帮忙。我在 rowdatabound 事件中尝试过,但没有成功。
    【解决方案2】:

    最好用这个

    if (e.Row.RowType == DataControlRowType.Header)
    {
           e.Row.Cells[0].Text = "HeaderText";
    }
    

    而不是

    gvReportingStockComp.Columns[0].HeaderText = "New Header for First Column";
    

    这个 ^ 对我不起作用。

    【讨论】:

      【解决方案3】:

      必须使用 Preload 事件来更新已排序列的标题文本。我的代码在 UpdatePage 调用中从 DB 获取 UIlabels,然后 GetUIText 获取一个标签。将 HTML 中的 HeaderText 设置为更新文本的大小写。

      Protected Sub Page_preLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreLoad
          If UpdatePage(Page.Controls, UIsetBase, "122000," + BldCommonScreen) = False Then
              SetMasterErrMsg(Master, "blderrmsg", Session("ErrorMsg"))
          End If
      
          For Each Col In OpenTestGridView.Columns
              Dim ht As String = Col.HeaderText
              Select Case ht
                  Case "1"
                      Col.HeaderText = GetUILabel("114100")
                  Case "2"
                      Col.HeaderText = GetUILabel("114101")
                  Case "3"
                      Col.HeaderText = GetUILabel("114102")
                  Case "4"
                      Col.HeaderText = GetUILabel("114103")
                  Case "5"
                      Col.HeaderText = GetUILabel("114104")
                  Case "6"
                      Col.HeaderText = GetUILabel("114105")
                  Case "7"
                      Col.HeaderText = GetUILabel("114008")
                  Case "8"
                      Col.HeaderText = GetUILabel("123158")
              End Select
          Next
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-21
        • 1970-01-01
        • 2010-10-05
        • 1970-01-01
        相关资源
        最近更新 更多