同上一篇。
分析:
考虑到不可能让用户一个一个的修改,因此决定用了两个功能: 修改选定和修改全部。要实现选定的话那么就要加checkbox了,该功能参考了people and group。
实现:
1, 利用SharePoint designer打开该list, 选中该list,然后选择Convert to XSLT Data View.
2, 在最前一列插入一列.
3, 打开task panes - toolbox面板. 并且插入一个checkbox.
4, 然后切换到code视图,把name改成 SPCheckboxDocument, 然后添加一个自定义属性 DocumentID={@UniqueId} ,
5, 同样,在上面的那一td中插入一张小图片: URL: /_layouts/images/unchecka.gif , 然后修改图片的一些属性如下:
<a href='Javascript:ToggleSelectionAllItems()' οnclick='ToggleSelectionAllItems();return false;'><img id="cbxItemSelectAll" alt="Check or Uncheck all items" src="/_layouts/images/unchecka.gif" width="16" height="16" border="0"/></a>
6, 在目录下C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033 , 找到CORE.JS, 并添加如下的代码:
Code
function ToggleSelectionAllItems()
{
var chkToggle=document.getElementById("SPCheckboxDocument");
if (chkToggle !=null)
{
var name="SPCheckboxDocument";
var Items=document.getElementsByName(name);
chkToggle.checked=!chkToggle.checked;
for (var i=0; i < Items.length; i++)
{
var chkBox=Items[i];
chkBox.checked=chkToggle.checked;
}
var imageId="cbxItemSelectAll";
var img=document.getElementById(imageId);
if (img !=null)
{
if (chkToggle.checked)
img.src='/_layouts/images/checkall.gif';
else
img.src='/_layouts/images/unchecka.gif';
}
}
}
function GetSelectedItems(attributeName, separator)
{
var result = "";
var name = "SPCheckboxDocument";
var Items = document.getElementsByName(name);
for (var i = 0; i < Items.length; i++)
{
var chkBox = Items[i];
if (chkBox.checked)
{
var attributeValue = chkBox.getAttribute(attributeName);
if (attributeValue != null && attributeValue.length > 0)
{
if (result.length > 0)
{
result = result + separator;
}
result += attributeValue;
}
}
}
return result;
}
function ToggleSelectionAllItems()
{
var chkToggle=document.getElementById("SPCheckboxDocument");
if (chkToggle !=null)
{
var name="SPCheckboxDocument";
var Items=document.getElementsByName(name);
chkToggle.checked=!chkToggle.checked;
for (var i=0; i < Items.length; i++)
{
var chkBox=Items[i];
chkBox.checked=chkToggle.checked;
}
var imageId="cbxItemSelectAll";
var img=document.getElementById(imageId);
if (img !=null)
{
if (chkToggle.checked)
img.src='/_layouts/images/checkall.gif';
else
img.src='/_layouts/images/unchecka.gif';
}
}
}
function GetSelectedItems(attributeName, separator)
{
var result = "";
var name = "SPCheckboxDocument";
var Items = document.getElementsByName(name);
for (var i = 0; i < Items.length; i++)
{
var chkBox = Items[i];
if (chkBox.checked)
{
var attributeValue = chkBox.getAttribute(attributeName);
if (attributeValue != null && attributeValue.length > 0)
{
if (result.length > 0)
{
result = result + separator;
}
result += attributeValue;
}
}
}
return result;
}
好了, 我要的功能就实现了
效果: