2017-04-03 8 views
1

私は約198のアイテムのSharePoint 2010リストを持っています。最初の30項目についてテキストをHTMLに Javascript関数は、テキストコードをHtmlに変換するのに成功しましたが、次の31項目を選択しようとしているときにページ分割を使用すると、HTMLを変換してテキストコードのみを表示できません。この作業を行うには誰でもコードを用意してください。以下はSharePoint 2010で使用されるコードです。ありがとうございます。Sharepoint 2010のテキストからHTMLへの変換

<script type="text/javascript"> 
function TextToHTML(NodeSet, HTMLregexp) { 
var CellContent = ""; 
var i=0; 
while (i < NodeSet.length){ 
try { 
CellContent = NodeSet[i].innerText || NodeSet[i].textContent; 
if (HTMLregexp.test(CellContent)) {NodeSet[i].innerHTML = CellContent;} 
} 
catch(err){} 
i=i+1; 
} 
} 

// Calendar views 
var regexpA = new RegExp("\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*"); 
TextToHTML(document.getElementsByTagName("a"),regexpA); 

// List views 
var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$"); 
TextToHTML(document.getElementsByTagName("TD"),regexpTD); 

// This function is call continuesly every 100ms until the length of the main field changes 
// after which the convert text to HTML is executed. 
// 
var postElemLength = 0; 
function PostConvertToHtml() 
{ 
    if (postElemLength == document.getElementsByTagName("TD").length) 
    { 
      setTimeout(PostConvertToHtml,100); 
    } 
    else 
    { 
      var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$"); 
      TextToHTML(document.getElementsByTagName("TD"),regexpTD); 
    } 
} 

// Grouped list views 
ExpGroupRenderData = (function (old) { 
    return function (htmlToRender, groupName, isLoaded) { 

    var result = old(htmlToRender, groupName, isLoaded); 
    var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$"); 
    TextToHTML(document.getElementsByTagName("TD"),regexpTD); 

    // start the periodic callback to check when the element has been changed 
    if(isLoaded == 'false') 
     { 
     postElemLength = document.getElementsByTagName("TD").length; 
     setTimeout(PostConvertToHtml,100); 
     } 
    }; 
})(ExpGroupRenderData); 

// Preview pane views 
if (typeof(showpreview1)=="function") { 
showpreview1 = (function (old) { 
    return function (o) { 
    var result = old(o); 
    var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$"); 
    TextToHTML(document.getElementsByTagName("TD"),regexpTD); 
    }; 
})(showpreview1); 
}</script> 

以下は、生成されたテキストコードをHTMLに変換する必要があります。ありがとう。 SharePoint 2010の中で計算列にHTMLの文字列を生成するとき

="<div style='position:relative;display:inline-block;width:100%;'> 
    <div style='width:100%;display:inline-block;text-align:center;border:1px solid "&Project_Status_clr&";position:absolute;color:"&Project_Status_clr&";'> "&Project_Status&" 
    </div> 
    <div style='display:inline-block;width: 100%;background-color:"&Project_Status_clr&";text-align:center;border:1px solid;z-index:-1;filter:alpha(opacity=20);opacity:0.2;'>"&Project_Status&" 
    </div> 
</div>" 
+0

必要以上に多くの作業を行っている可能性があります。あなたは(おそらく) "文字列"ではなく "数値"の戻り値型を持つように計算列を変更しようとしましたか?これは通常、HTMLをレンダリングするのに十分です。 – Thriggle

+0

こんにちは、ありがとうございました。本当にそれは動作します.. –

+0

素晴らしい!私は答えとしてそれを追加します。 – Thriggle

答えて

0

は、あなたが「番号」リストビューにレンダリングするためのHTMLを取得するために計算された列の値の型を変更することができます。

+0

こんにちは、私はあなたの上記の提案に感謝しています。私はもう一度私のプロジェクトに立ち往生した。親切にも、私はどのようにHTMLにテキスト文字列のコードをレンダリングすることができますか?私はOffice 365で以前のものを使用して次のページをクリックするとどうしますか? –

+0

上記のコメントに加えて、私は5つの計算された列と約2200項目を使用して、HTML版に正しくレンダリングする必要があります。ありがとうございます.. –

+0

こんにちはBarunさん、Office 365の問題について新しい質問をすることをお勧めします。なぜなら、ソリューションはSharePoint 2010とは異なる可能性があるからです。 – Thriggle

関連する問題