web-dev-qa-db-ja.com

jqgridで選択した行の行IDを取得する方法

私はこのコードを書き、jqgridのrowdoubleclickでメソッドを呼び出しています。また、jqgridのすべてのタグと列名を指定しました。値を警告するときに「未定義」になる理由を理解するのを手伝ってもらえますか?

<cc1:JQGrid ID="grdUserDetails" runat="server" Width="770px" Height="350px" ClientSideEvents-RowDoubleClick="ForwardDetails">
                <Columns>
                    <cc1:JQGridColumn DataField="VisitorID" HeaderText="ID" TextAlign="Left" PrimaryKey="true"
                        Visible="false" Searchable="false">
                    </cc1:JQGridColumn>
                    <cc1:JQGridColumn DataField="PersonName" HeaderText="Visitor" TextAlign="Left">
                    </cc1:JQGridColumn>
                    <cc1:JQGridColumn DataField="CompanyName" HeaderText="Company Name" TextAlign="Left">
                    </cc1:JQGridColumn>
                    <cc1:JQGridColumn DataField="ContactNumber" HeaderText="Contact Number" TextAlign="Left">
                    </cc1:JQGridColumn>
                    <cc1:JQGridColumn DataField="Address" HeaderText="Address" TextAlign="Left">
                    </cc1:JQGridColumn>
                    <cc1:JQGridColumn DataField="Email" HeaderText="Email" TextAlign="Left">
                    </cc1:JQGridColumn>
                    <cc1:JQGridColumn DataField="DisplayDate" HeaderText="Last Visited on" TextAlign="Left">
                    </cc1:JQGridColumn>
                </Columns>
                <PagerSettings PageSize="15" PageSizeOptions="[15,25,50]" />
                <ToolBarSettings ShowSearchButton="false" ShowRefreshButton="true" ShowSearchToolBar="true">
                </ToolBarSettings>
                <AppearanceSettings ShowRowNumbers="true" ></AppearanceSettings>
                <SearchToolBarSettings SearchToolBarAction="SearchOnKeyPress" />
            </cc1:JQGrid>

 function ForwardDetails() {
        var PersonName, Address, CompanyName, ContactNumber, Email;
        var selectedRowId, cellValue;
        var myGrid = $('#grdUserDetails');
         selectedRowId = myGrid.jqGrid('getGridParam', 'selrow');
         cellValue = myGrid.jqGrid('getCell', selectedRowId, 'Visitor Name');
        window.opener.setValues(PersonName, Address, CompanyName, ContactNumber, Email);
        window.close();           
    }
5

これを試して:

var myGrid = $('#list'),
selectedRowId = myGrid.jqGrid ('getGridParam', 'selrow'),
cellValue = myGrid.jqGrid ('getCell', selectedRowId, 'columnName');

ここで、columnNameは、namecolModelプロパティで指定した列です。

および#listはグリッドのIDです。

ref1ref2

22
Manish Mishra