Преобразование текста в HTML в Sharepoint 2010

У меня в списке SharePoint 2010 около 198 предметов. Для первых 30 элементов Функция Text to Html Javascript успешно преобразует текстовый код в Html, но когда я пытаюсь выбрать следующие 31 элемент и использовать разбиение на страницы, функция не может конвертировать Html и отображать только текстовые коды. Кто-нибудь, пожалуйста, у кого есть код, чтобы сделать эту работу? Ниже приведен код, используемый в SharePoint 2010. Спасибо.

<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. Благодарю.

="<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>"

1 ответ

Решение

При создании строки HTML в вычисляемом столбце в SharePoint 2010 вы можете изменить тип значения вычисляемого столбца на "Число", чтобы HTML отображался в представлении списка.

Другие вопросы по тегам