需要在DataGrid标头中找到ImageButton

时间:2012-01-16 22:26:55

标签: c# datagrid updatepanel imagebutton

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

这就是问题,我需要以某种方式访问​​已放置在DataGrid标题中的多个按钮图像。我需要在UpdatePanel_Render事件期间访问这些按钮以更改其属性。但是,DataGrid加载 AFTER UpdatePanel,因此我无法找到这些控件。我需要一些帮助。我已经尝试了所有我知道的东西(这不是很多)。 :'(

如果您需要某种类型的示例代码,请告诉我,我将编辑此帖并提供。

重要

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

2 个答案:

答案 0 :(得分:1)

所以我最终弄清楚如何使一切正常运作。以下是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>

答案 1 :(得分:0)

他们有ids吗?

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

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