读取和设置SPFIELD的值

本文介绍了如何在SharePoint中操作不同字段类型的数据,包括下拉列表(SPFieldType.Choice)、多选(SPFieldType.MultiChoice)及URL字段的读取与设置方法。

1.SPFieldType.Choice

   读取选项里所有的值:

               SPSite sites = SPContext.Current.Site;
                SPWeb web = sites.OpenWeb();
                SPList list = web.Lists.TryGetList("客户信息");
                SPListItem item=list.GetItemById(Int32.Parse(this.strCID));

                SPFieldChoice fieldChoice = list.Fields["行业"] as SPFieldChoice;
                StringCollection str = fieldChoice.Choices;

     str里就是下来列表里的所有值。

      读取当前选中的值  string s=listitem["行业"].ToString();

  设置下拉列表的值:

                SPSite sites = SPContext.Current.Site;
                SPWeb web = sites.OpenWeb();
                SPList list = web.Lists.TryGetList("客户信息");

                SPFieldChoice fieldChoice = list.Fields["行业"] as SPFieldChoice;
                StringCollection str = fieldChoice.Choices;
                        if (!str.Contains(“123”))
                        {
                            str.Add(strValue);
                        }
                        listitem[“行业”] = “123”;

2.SPFieldType.MultiChoice

  读取多选框里的值

                SPSite sites = SPContext.Current.Site;
                SPWeb web = sites.OpenWeb();
                SPList list = web.Lists.TryGetList("客户信息");
                SPListItem item=list.GetItemById(Int32.Parse(this.strCID));

                SPFieldMultiChoice mChoice = list.Fields["标签"] as SPFieldMultiChoice;

                 foreach (string strItem in mChoice.Choices)
                {
                  Response.Write( strItem );         

                }

设置内容:

                        SPFieldMultiChoice mChoice = list.Fields[fieldTitle] as SPFieldMultiChoice;
                        StringCollection str = mChoice.Choices;
                        if (!str.Contains(strValue))
                        {
                            str.Add(strValue);
                        }
                        listitem[fieldTitle] = strValue;

3.SPFieldType.URL

   

读取

SPFieldUrl fieldUrl = (SPFieldUrl)item.Fields["URL"];
SPFieldUrlValue value = (SPFieldUrlValue)fieldUrl.GetFieldValue(item["URL"].ToString());
Console.WriteLine(value.Description);
Console.WriteLine(value.Url);

 

 value.Url = "http://www.126.com";
 value.Description = "126";
 fieldUrl.Update();
           

或者更简单的方法:

SPFieldUrlValue value = new SPFieldUrlValue(item["URL"].ToString());
       Console.WriteLine(value.Description);
       Console.WriteLine(value.Url);

 

设置

 using (SPSite site = SPContext.Current.Site)
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPList list = web.Lists["mosstestchoices"];

                    SPListItem item = list.GetItemById(3);
                   
                    SPFieldUrlValue spfv = new SPFieldUrlValue(item["myhyperlink"].ToString());
                    spfv.Url = "http://www.baidu.com";
                    spfv.Description = "new description";
                    item["myhyperlink"] = spfv.ToString();
                    item.Update();

                }

            }

转载于:https://www.cnblogs.com/aimigi/archive/2012/04/28/2475151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值