2015-10-21 48 views
0

如何將數據源附加到UniGrid。我創建了自定義篩選器,並按照預期的方式使用PagesDataSource和BasicRepeater Web部件工作。但是現在我應該爲UniGrid獲得相同的數據源。如何將數據源附加到Kentico的UniGrid中

我該怎麼做?

UPDATE:

Kentico 8.2版

ASCX:

<%@ Register Src="~/CMSAdminControls/UI/UniGrid/UniGrid.ascx" TagName="UniGrid" TagPrefix="cms" %> 
<%@ Register Namespace="CMS.UIControls.UniGridConfig" TagPrefix="ug" Assembly="CMS.UIControls" %> 

<cms:CMSDocumentsDataSource ID="myDocuments" runat="server" /> 

代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
    InitializingDataSource(); 

    FrameGrid.DataSource = myDocuments.DataSource; 
    FrameGrid.DataBind(); 
} 

private void InitializingDataSource() 
{ 
    myDocuments.FilterName = FilterName; 
    myDocuments.Path = ContentPath; 
    myDocuments.LoadCurrentPageOnly = true; 
    myDocuments.LoadPagesIndividually = true; 
    myDocuments.SelectOnlyPublished = true; 
} 

UPDATE2:

我刪除了DataBind,但它仍然不起作用。

回答

0

因爲UniGrid是不是你不能把它綁定到PagesDataSource Web部件Web部件。但是,仍然可以使用底層服務器控件CMSDocumentsDataSource(來自CMS.Controls名稱空間)。如果您將其所有屬性設置爲PagesDataSource Web部件,那麼它應該可以正常工作。然後,您可以將UniGrid的DataSource屬性綁定到它。

ASPX:

<%@ Register Src="~/CMSAdminControls/UI/UniGrid/UniGrid.ascx" TagName="UniGrid" TagPrefix="cms" %> 
<%@ Register TagPrefix="ug" Namespace="CMS.UIControls.UniGridConfig" Assembly="CMS.UIControls, Version=8.0.0.0, Culture=neutral, PublicKeyToken=834b12a258f213f9" %> 

<cms:CMSDocumentsDataSource runat="server" ID="src" Path="/%" /> 
<cms:UniGrid runat="server" ID="grd" DelayedReload="True"> 
    <GridColumns> 
     <ug:Column Source="DocumentName" Name="DocumentName" runat="server" /> 
    </GridColumns> 
</cms:UniGrid> 

代碼隱藏:

protected void Page_Load(object sender, EventArgs e) 
{ 
    grd.DataSource = ((DataView)src.DataSource).Table.DataSet; 
    grd.ReloadData(); 
} 

退房的文檔all possible ways of loading dataUniGrid,以及如何設置它使用ASPX markup and XML definition file

+0

謝謝你的迴應。但我仍然需要一些幫助。我將添加到ascx文件中,並在Page_Load中設置它,並通過FilterName屬性設置我的自定義過濾器,但現在我的Kentico實例無法與FrameGrid.DataSource一起使用= frameDocuments.DataSource; FrameGrid.DataBind();組態。你能幫助我嗎? –

+0

它對你有幫助嗎? – rocky

+0

不,你能幫我解決之前評論中的問題嗎? –

相關問題