【问题标题】:Problem Sorting With Multiple SPGridViews使用多个 SPGridView 进行排序问题
【发布时间】:2011-04-28 00:31:08
【问题描述】:

我在 SharePoint 2010 解决方案中使用 SPGridView 控件和 ObjectDataSource 控件。 SPGridview 允许我对列表项进行排序和分页确定,但是当两个 SPGridView 控件放置在同一页面上时,我注意到了一个问题。当我通过单击列的标题链接对下部 SPGridView 控件进行排序时,排序操作成功。但是,当我单击下方 SPGridView 列标题上的 ECB 菜单提供的排序选项时,排序将应用于上方 SPGridView 控件。

谁能提供有关如何解决此问题的修复或指导?

谢谢,MagicAndi。

【问题讨论】:

    标签: sharepoint sharepoint-2010 spgridview


    【解决方案1】:

    【讨论】:

    • Brian,对于延迟接受这个作为答案表示歉意。我已经发布了我的解决方案,该解决方案基于您提供的链接。
    【解决方案2】:

    根据brian brinley提供的链接,我想出了这个稍微通用的解决方案:

    protected override void OnPreRender(EventArgs e)
    {
        if (this.HeaderRow != null)
        {
            foreach (WebControl control in this.HeaderRow.Controls)
            {                    
                UpdateTemplateClientID(control);
            }      
        }
    
        base.OnPreRender(e);
    }
    
    private void UpdateTemplateClientID(Control control)
    {
        if (control is Microsoft.SharePoint.WebControls.Menu)
        {
            Microsoft.SharePoint.WebControls.Menu menuControl = control as Microsoft.SharePoint.WebControls.Menu;
            string jsFunctionCall = menuControl.ClientOnClickPreMenuOpen;
            menuControl.ClientOnClickPreMenuOpen = jsFunctionCall.Replace("%TEMPLATECLIENTID%", this.ClientID + "_SPGridViewFilterMenuTemplate");
        }
        else if (control.HasControls())
        {
            foreach (WebControl c in control.Controls)
            {
                UpdateTemplateClientID(c);
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多