DataFormWebPart доступ к предыдущим версиям элемента в WSS3.0 - PullRequest
0 голосов
/ 07 июля 2010

Я использую WSS3.0 и у меня есть собственный список, который содержит версии для нескольких полей. Когда я нажимаю на элемент и просматриваю страницу элемента, я вижу историю всех полей, в которые я внес изменения. Это работает нормально, как и ожидалось.

Я также создал страницу с помощью Microsoft Office Sharepoint Designer и с помощью DataFormWebPart. Я создал страницу, на которой все элементы списка отображаются в виде списка. Я также изменил узел XSL DFWP для отображения данных. способ, который хочет мой клиент.

У меня проблема в том, что она показывает только последнюю версию записи элемента, например, некоторые поля не заполнены, так как клиент не обновлял эти поля при последнем сохранении элемента. Я полностью понимаю, почему он не показывает эти предыдущие версии элемента, но есть ли возможность изменить параметр в веб-части, который будет возвращать эту последнюю непустую версию поля?

Если это невозможно, кто-нибудь знает, возможно ли изменить страницу редактирования для элемента, чтобы в некоторых полях по умолчанию было указано предыдущее значение поля.

Большое спасибо за ваши идеи заранее

Jonathan

1 Ответ

0 голосов
/ 19 августа 2010

Мне удалось добавить следующий код jQuery внизу страницы (используя Sharepoint Designer). Вам также необходимо добавить ссылку вверху страницы, чтобы включить ссылку на код jQuery (или вы можете установить его как функцию).

<script>
jQuery.fn.GetLastUpdate = function () { 
  $updates = this.parent().next().clone();
  $("nobr", $updates).remove();
  $("a", $updates).remove();
  $("br", $updates).remove();
  $lastUpdate = $updates.text().split("(): ")[1]; //.find("a").replaceWith("##++##").text();
  this.text($lastUpdate);
  return $lastUpdate;
}

$("[title='CONTROL_TITLE']").GetLastUpdate();
</script>

Тогда вам просто нужно заменить CONTROL_TITLE заголовком текстового поля, которое вы хотите заполнить автоматически.

...