使用JavaScript获取Infragistics WebDataGrid中单击的单元格的值

问题描述 投票:1回答:1

亲爱的,从昨天开始我就经历了这个,除了错误什么都没有!我想要的非常简单,当我使用JavaScript在Infragistics WebDataGrid中单击一行中的按钮时,我想要获取单元格的值,这是我的代码:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
 <script src="Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
    function getCellValue() {
        var grid = $find("WebDataGrid1");
        var usingActivation = grid.get_behaviors().get_selection().get_selectedRows(0).getItem(0).get_cellByColumnKey("test").get_text()
       // var usingRowSelection = grid.get_behaviors().get_activation().get_activeCell().get_row().get_cellByColumnKey("Number").get_text()
    }
</script>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<table class="nav-justified">
    <tr>
        <td>
<ig:WebDataGrid ID="WebDataGrid1" runat="server" Height="350px" Width="400px">
    <Columns>
        <ig:TemplateDataField Key="TemplateField_0">
            <ItemTemplate>
                <asp:Button ID="Button1" runat="server" OnClientClick="getCellValue()" Text="Button" />
            </ItemTemplate>
            <Header Text="TemplateField_0">
            </Header>
        </ig:TemplateDataField>
    </Columns>
    <Behaviors>
        <ig:Activation>
        </ig:Activation>
    </Behaviors>
</ig:WebDataGrid>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
        </td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
</table>

当我点击按钮时,我在chrome调试器中发现了此错误;

enter image description here

看起来他没有找到控件“ WebDataGrid1”,请帮忙吗?我对JS不太熟悉。

非常感谢...

javascript asp.net infragistics webdatagrid
1个回答
0
投票

您正在尝试将WebDataGrid1甚至在DOM上呈现之前都进行检索。如下面的代码片段所示,将JavaScript移至WebDataGrid1元素下方应可解决此问题。

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<script src="Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<table class="nav-justified">
    <tr>
        <td>
<ig:WebDataGrid ID="WebDataGrid1" runat="server" Height="350px" Width="400px">
    <Columns>
        <ig:TemplateDataField Key="TemplateField_0">
            <ItemTemplate>
                <asp:Button ID="Button1" runat="server" OnClientClick="getCellValue()" Text="Button" />
            </ItemTemplate>
            <Header Text="TemplateField_0">
            </Header>
        </ig:TemplateDataField>
    </Columns>
    <Behaviors>
        <ig:Activation>
        </ig:Activation>
    </Behaviors>
</ig:WebDataGrid>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
        </td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
</table>

<script type="text/javascript">
    function getCellValue() {
        var grid = $find("WebDataGrid1");
        var usingActivation = grid.get_behaviors().get_selection().get_selectedRows(0).getItem(0).get_cellByColumnKey("test").get_text()
       // var usingRowSelection = grid.get_behaviors().get_activation().get_activeCell().get_row().get_cellByColumnKey("Number").get_text()
    }
</script>
© www.soinside.com 2019 - 2024. All rights reserved.