2010-11-28 6 views
1

(spboundfieldを使用して)リストから項目を表示するSPGridViewがあります。ルックアップフィールドのグリッドビュー表示

リストにはいくつかのルックアップフィールドがあります。マルチルックアップfileds私SPGridviewにlookupfieldのフィルタ値は、この形式で表示されます:

{ID};#{値}


何今私のオプションはありますか?

答えて

0

テンプレートフィールドのカスタムテンプレートクラスを作成します。そのテンプレートクラスでは、リストフィールドの形式を再フォーマットします。もっとも簡単な方法はもちろんSPFieldクラスのGetValueAsHtmlです。 一般的なテンプレートに関する良いチュートリアルです:http://www.developer.com/article.php/3609991

+0

string.replace関数を使用してこの問題に対処する方法はありますか? –

0

これを行うには、spgridviewの代わりにdataviewwebpartクラスを使用できます。 xsltを使用すると、たくさんの図書館にアクセスして、あなたの書式設定に役立ちます。 Marc d。 Andersonには、sharepoint xsltテンプレートというcodeplex上の素晴らしいxslt関数ライブラリがあります。ここで

http://sympmarc.com/2010/04/22/new-codeplex-project-sharepoint-xsl-templates-spxslt/

+0

私は、並べ替えに問題があるので、Dataview wpから移動しようとしています。 dvwpは、データセット全体をソートするのではなく、表示されているアイテムのみをソートします。 –

0

私はこの問題を解決する方法である:、

// Make sure declare using System.Text.RegularExpression; 
protected string RemoveCharacters(object String) { 
    string s1 = String.ToString(); 
    string newString = Regex.Replace(s1, @"#[\d-];", string.Empty); 
    newString = Regex.Replace(newString, "#", " "); 
    return newString.ToString(); 
} 
1

SPGridViewの列を生成する代わりにBoundFieldSPBoundFieldを使用する必要があります。コードで

<asp:TemplateField HeaderText="Campaign Members"> 
    <ItemTemplate> 
    <%# RemoveCharacters(Eval("CampaignMembers").ToString()) %> 
    </ItemTemplate> 
</asp:TemplateField> 

関連する問題