0

包含链接的网格单元

我的Telerik rad 网格中有用于 Asp.net的自定义列,其中一些显示链接(A href='...')。

链接工作正常。

问题只有当我单击具有链接(而不是纯文本)的单元格,网格才选择我单击的单元格的行。

通常,当用户单击常规单元格时,网格会毫无问题地选择行。

这仅在单元格内容是链接时发生。

有什么办法解决这个问题吗?请。

代码:

1 - 链接后面的链接(进入网格单元)

<a href="#" onclick="commandManager(event, otherParameters);">Cotgrave</a>

2 - 被调用的代码。

    function commandManager(clickEventArgs, PARAMS)
    {
       $.each(PARAMS, function(key, value) { PARAMS[key].sourceItem = clickEventArgs.target; });  // NOT RELATED TO THIS ISSUE

       if(PARAMS.length == 1)
       {
          // NOT RELATED TO THIS ISSUE
       }
       else if(PARAMS.length>1)
       {
           showMenu(clickEventArgs, PARAMS);  <<- THIS IS WHERE OUR CASE FOLLOWS
       }
       else
       {
          // NOT RELATED TO THIS ISSUE
       }
    }

3 - 显示菜单功能

    function showMenu(e, PARAMS) 
    {  
        if ((!e.relatedTarget) || (!$telerik.isDescendantOrSelf(contextMenu.get_element(), e.relatedTarget))) 
        {
            var contextMenu = $find("<%= RadContextMenu1.ClientID %>");

            contextMenu.get_items().clear();
            for(i=0; i < PARAMS.length; i++)
            {
                var childItem = new Telerik.Web.UI.RadMenuItem();
                childItem.set_text(PARAMS[i].title);
                childItem.PARAM=PARAMS[i];
                contextMenu.get_items().add(childItem);
            }

            contextMenu.show(e);
        }
    }

网格标记

<telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"
    Skin="Default" AutoGenerateColumns="false" AllowMultiRowSelection="true" OnItemDataBound="RadGrid1_ItemDataBound">
    <ClientSettings EnableRowHoverStyle="true">
        <Scrolling AllowScroll="true" UseStaticHeaders="true" ScrollHeight="10px" />
        <Selecting AllowRowSelect="true" />
        <ClientEvents OnGridCreated="GridCreated" OnRowClick="RowClicked" OnRowSelected="RowSelectionChanged" OnRowDeselected="RowSelectionChanged"></ClientEvents>
    </ClientSettings>
    <MasterTableView AllowPaging="true">
        <PagerStyle AlwaysVisible="true" />
    </MasterTableView>
</telerik:RadGrid>

请让我提醒一下,此代码“工作正常”唯一的问题是当单元格内容是链接时,网格不会选择行。

4

1 回答 1

0

如果没有您的网格标记,我无法确定,但我可以想到 2 个潜在的解决方案。

首先,如果您已经尝试过但没有在问题上放置网格标记,我深表歉意,您需要确保已正确设置选择设置以允许行选择<Selecting AllowRowSelect="true" UseClientSelectColumnOnly="false" />

请参阅:http ://www.telerik.com/community/forums/aspnet-ajax/grid/select-a-row-in-radgrid-after-a-linkbutton-in-the-radgrid-is-clicked.aspx

另一种可能的方法是使用 RadGrid 客户端 API 来选择行,假设clickEventArgsPARAMS属性包含一个唯一的数据键值供您比较,这可以使用项目上的 set_selected 函数来完成。

于 2013-10-29T17:00:48.990 回答