【问题标题】:ASP.NET [Need an event after page load (After GridView renew data) ]ASP.NET [页面加载后需要一个事件(GridView 更新数据后)]
【发布时间】:2010-01-22 11:30:59
【问题描述】:

在 Button 上为 GridView 更新 DataSource 的参数并加载事件 Page_Load() 并且在它(或与它一起)之后,GridView 会自行更新。

我需要重命名标题行但页面加载后没有事件。

更多详情请点击此处:

[On Button Click] I change DataSource and Bind it (SqlDataSource1.DataBind(); ) Then sure Page gone to Refresh elements.

[On Page_Load] GridView 正在更改数据,但如果我无法更改 Headers 那里,因为它看起来像在此函数之后加载:(

[多一个按钮] 我可以添加一个带有功能的新按钮 - 重命名标题,并且每次都能正常工作

    protected void Button2_Click(object sender, EventArgs e)
{
    // Stack overflow
    DataRow T;
    if (go)
        if (GridView2.HeaderRow.Cells.Count != 0)
            for (int i = 0; i < SQF.SQF.Permission.Rows.Count; i++)
            {
                T = SQF.SQF.Permission.Rows[i];
                GridView2.HeaderRow.Cells[i].Text = (string)T["Caption1"];
                WebMsgBox.Show((string)T["Caption1"]);
            }
}

麻烦:我不需要一个按钮,我需要在单击按钮更改数据后重命名标题行,但我不知道在哪里可以做到。

谢谢。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    你可以像这样使用 Gridview DataBound 事件:

    <asp:GridView runat="server" ID="SomeID" OnDataBound="GridVIew_OnDataBound" ... />
    

    DataBound 事件在该特定控件的数据绑定过程完成后立即发生。

    【讨论】:

      【解决方案2】:

      Page_Load 之后有一个事件Page.PreRender。 也许它会适合你。

      编辑。 组件的所有事件(例如 GridView)在 Page.Load 和 Page.PreRender 之间触发。考虑使用RowDataBoundRowUpdated 事件。

      【讨论】:

      • 此处出现错误:if (GridView2.HeaderRow.Cells.Count != 0) 似乎网格中还没有任何内容 :(
      • 回答 EDIT ,但是如果“您的组件的所有事件,例如 GridView,在 Page.Load 和 Page.PreRender 之间被触发”为什么我得到错误然后 OnD​​ataBound 没有错误??跨度>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2021-12-22
      • 1970-01-01
      • 2017-11-16
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多