电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

为ListView添加CheckBox栏


发布日期:2021/1/12
 

看博客园里的前辈们都在研究MOSS我也来凑个热闹

今天我也为ListView添加CheckBox栏和前辈们的做法可能略有不同但是应该大同小异

首先写一个WINFORM放一个BUTTON在单击事件里面加入代码string xml = <Field Type=Computed ReadOnly=TRUE Name=ListItemSelection DisplayName=Selector Sortable=FALSE Filterable=FALSE EnableLookup=FALSE SourceID= StaticName=ListItemSelection><FieldRefs><FieldRef Name=ID /></FieldRefs><DisplayPattern><HTML><![CDATA[<input type=checkbox name=docchk onclick=setValue() ]]></HTML><HTML><![CDATA[LItemId=]]></HTML><Column Name=ID HTMLEncode=TRUE /><HTML><![CDATA[/> ]]></HTML></DisplayPattern></Field>SPSite site = new SPSite(//qdofficeSPWeb web = siteOpenWeb(koniamboSPList list = webLists[技术性文件]listFieldsAddFieldAsXml(xml)通过上面的代码可以将在LIST中创建一个SPField注意两个要点其中定义了CheckBox的HTML样式并在CheckBox的单击事件中加入Onclick = setValue() 注意给CheckBox增加NAME属性以便后面可以通过JS对其进行取值这里面我将它的NAME属性设成docchk接下来使用SPD打开页面在<aspContent ContentPlaceHolderId=PlaceHolderMain>后面增加一个<Input type=hidden value= name=dochid>然后将下面的这段JS放到页面可以引用的任意位置通过Link或是直接嵌入到页面里都可以

function getCheckboxValue(name)

{ var str = var theEle = documentgetElementsByName(name)for(var i=i<theElelengthi++)

{ if(theEle[i]checked == true)

{ str += theEle[i]LItemId + } str = strsubstr(strlengthreturn str} function el(name)

{ var elel = documentgetElementById(name)return el} function setValue()

{ var count = documentgetElementsByName(docchklengthvar number =

var strValue=var arrayCheckbox = new Array(count)for(i=i<counti++)

{ arrayCheckbox[i] = eval(documentall(docchk)[+i+]if(arrayCheckbox[i]checked==true)

{ ++numberstrValue+=arrayCheckbox[i]LItemId+ } documentgetElementsByName(dochid)[]value=strValuesubstr(strValuelength}这样的话你在点周CheckBo的话就可以通过SetValues方法向dochid域中写值了(值为用逗号隔开的ListItemID)

在后台就可以取到值了

上一篇:微软推Windows在线版 接受互联时代洗礼

下一篇:开发中iFrame表单提交的古怪问题解决