需要在DataGrid标头中找到ImageButton

本文关键字:ImageButton DataGrid | 更新日期: 2023-09-27 18:20:24

所以,我到处寻找这个问题的解决方案,但到目前为止,我所尝试的一切都失败了。

事情是这样的,我需要以某种方式访问放置在DataGrid标题中的多个按钮图像。我需要在UpdatePanel_Render事件期间访问这些按钮来更改它们的属性。但是,DataGrid加载AFTERUpdatePanel,因此我找不到这些控件。我需要一些帮助。我已经尝试了我所知道的一切(不是很多)(

如果你需要某种类型的样本代码或任何东西,让我知道,我会编辑这篇文章并提供它。

重要

我在补充我的问题。我决定将标题和按钮放在一个单独的Table中,并设法添加了JavaScript,以重新调整Table的大小以适应DataGrid。此表位于UpdatePanel之外,唯一的问题是当按下按钮时,Table会消失。有人知道为什么会这样吗?

需要在DataGrid标头中找到ImageButton

所以我最终弄清楚了如何让一切正常工作。以下是Javascript的片段,我曾使用它使单独的TableDataGrid对齐,而无需尝试访问按钮。:)我还没有真正尝试过按钮的东西,所以…我们将看看它是如何工作的。希望UpdatePanel不会对我的工作太不友善。

代码

<script type="text/javascript">
         //Alters the width of the table upon load
         var defaultRow = $("#<%=ContactHistory.ClientID %> > tbody > tr:first");
         var headerRow = $("#header");
         headerRow.insertBefore(defaultRow);
         //Alters the width of the table after the UpdatePanel finishes
         Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
            function endRequestHandler(sender, args) {
                var defaultRow = $("#<%=ContactHistory.ClientID %> > tbody > tr:first");
                var headerRow = $("#header");
                headerRow.insertBefore(defaultRow);
            };   
        </script>

他们有id吗?

我认为您应该能够为网格的itemcreated事件执行此操作。

检查类型是否为gridheader,然后使用带有id的findcontrol来定位按钮。