熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

為ListView添加CheckBox欄

2013-11-13 10:06:18  來源: .NET編程 

  看博客園裡的前輩們都在研究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)
 
  在後台就可以取到值了
  


From:http://tw.wingwit.com/Article/program/net/201311/12565.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.