Issue in adding new items to a O365 SharePoint Online List having lookup columns (Client Object Model)

I have two Lists i.e. Publisher and Products in my SharePoint Online site. They are having the following structures:
1. Publisher:
Publisher (Single line of txt)
     A1
     A2
     A3
     A4
     A5
     A6
2. Products:
Publisher (lookup to the above column)       
ProductName (Single line of txt)
     A1                                                                   Apple
     A2                                                                   Samsung
     A3                                                                   Nokia
And I have an excel file named Products.xlsx in my local machine which has the following data:
Publisher        ProductName
     A1                   Apple
     A2                   Samsung
     A3                   Nokia
     A4                   Motorola
     A5                   LG
     A6                   HTC
Now I have written the below client-side (CSOM) code to fetch the data from the Excel and update the corresponding fields in the Products table:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Web;
using System.IO;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Client;
using File =
Microsoft.SharePoint.Client.File;
using System.Security;
namespace ExcelToSP
    public class
ExcelToSP
        //Main function to get the command line values and invoke the getSPList function to pull SP List data
        public
static void Main(string[] args)
            //Instantiate Class object
            ExcelToSP p
= new ExcelToSP();
            try
                p.LoadExcelData();
//Exit with Sucess code
Environment.Exit(0);
            catch
(Exception ex)
//Invoke writeErrorLog function to log the exception details
//p.WriteErrorLog(ex);
        public
void LoadExcelData()
            try
            string fileName
= @"E:\Products.xlsx";
            string fileExtension
= Path.GetExtension(fileName).ToUpper();
            string connectionString
= "";
             if
(fileExtension == ".XLS")
                connectionString
= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='"
+ fileName + "'; Extended Properties='Excel 8.0;HDR=YES;'";
            else
if (fileExtension ==
".XLSX")
                connectionString
= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='"
+ fileName + "';Extended Properties='Excel 12.0 Xml;HDR=YES;'";
            if
(!(string.IsNullOrEmpty(connectionString)))
string[] sheetNames =
GetExcelSheetNames(connectionString);
if ((sheetNames !=
null) &&
(sheetNames.Length
> 0))
DataTable dt = null;
OleDbConnection con =
new OleDbConnection(connectionString);
OleDbDataAdapter da =
new OleDbDataAdapter("SELECT * FROM ["
+ sheetNames[0]
+ "]", con);
                    dt
= new DataTable();
                    da.Fill(dt);
InsertIntoList(dt,"Products");
            catch
(Exception ex)
throw ex;
        private
string[] GetExcelSheetNames(string strConnection)
            var connectionString
= strConnection;
            String[] excelSheets;
            using
(var connection =
new OleDbConnection(connectionString))
                connection.Open();
var dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
null);
if (dt ==
null)
return null;
                excelSheets
= new String[dt.Rows.Count];
int i = 0;
// Add the sheet name to the string array.
foreach (DataRow row
in dt.Rows)
                    excelSheets[i]
= row["TABLE_NAME"].ToString();
                    i++;
            return excelSheets;
        private
void InsertIntoList(DataTable listTable,
string ListName)
            try
string username = "[email protected]";
string pwd = "contoso@1234";//this.Dts.Variables["password"].Value.ToString();
ClientContext clientContext =
new ClientContext("https://contoso.sharepoint.com/teams/myPOC/");
SecureString password =
new SecureString();
char[] decryptpwd = pwd.ToCharArray();
foreach (char c
in decryptpwd)
                    password.AppendChar(c);
                clientContext.Credentials
= new SharePointOnlineCredentials(username, password);
                clientContext.ExecuteQuery();
//Setting SiteURL Client context
Web web = clientContext.Web;//
                clientContext.Load(web);
                clientContext.ExecuteQuery();
List lstProductFamily = web.Lists.GetByTitle("Products");
for (int iRow
= 0; iRow < listTable.Rows.Count; iRow++)
ListItemCreationInformation itemCreateInfo =
new ListItemCreationInformation();
ListItem newItem = lstProductFamily.AddItem(itemCreateInfo);
//FieldLookupValue flv = newItem["Publisher"] as FieldLookupValue ;
//string lkup = flv.LookupValue;
//int valueid = 0;
//valueid = flv.LookupId;
                    newItem["Publisher"]
= Convert.ToString(listTable.Rows[iRow][0]);
                    newItem["ProductName"]
= Convert.ToString(listTable.Rows[iRow][1]);
                    newItem.Update();
                    clientContext.ExecuteQuery();
            catch
(Exception ex)
throw ex;
But I'm getting the following error on running the above code "Invalid data has been used to update the list item. The field you are trying to update may be read only." 
Can anybody please help me out?

Hi,
According to your description, my understanding is that you want to update data to look up field.
I have a test about updating look up field using Client Object Model in my environment. lookup field will accept an array to set the field value.
Here is the code snippet:
Microsoft.SharePoint.Client.ClientContext ctx = new ClientContext("http://sp2013sps/sites/test/");
if (ctx != null)
List list = ctx.Web.Lists.GetByTitle("List3");
ListItem itemToUpdate = list.GetItemById(1);
ctx.Load(itemToUpdate);
ctx.ExecuteQuery();
FieldLookupValue newLookUpField = new FieldLookupValue();
newLookUpField.LookupId = 3;
FieldLookupValue newLookUpField1 = new FieldLookupValue();
newLookUpField1.LookupId = 4;
FieldLookupValue[] newarr = { newLookUpField, newLookUpField1 };
itemToUpdate["lookup"] = newarr;
itemToUpdate.Update();
ctx.Load(itemToUpdate);
ctx.ExecuteQuery();
Best regards
Patrick Liang
TechNet Community Support

Similar Messages

  • Conflict between Client object model and Item Updated Event Receiver in sharepoint 2010

    Hello All,
    As per my requirement I have a two custom list.
    Agent Details
    Port Name
    Agent Details contains Agent code, Port Name,  email, address and phone of Agent. Its possible that one Agent Code is connected with multiple Port Name.
    Basically what I am doing is I am getting port name connected with Agent code, using jquery and bind those values with check box(using javascript created dynamically) and bind all with Div tag.
    Now when my custom edit form of Agent list open up it shows me different port name binding with checkbox group.
    when user select the check box and click confirm button my clicent object model script will run and add this selected value into Port Name list. 
    After confirm one more button named Save will enable asking user to edit the email, phone or address value and when I click on save my Item updated event fires which update the values of the selected port name(These port name I am getting from port
    name list) to Agent Details custom list.
    Now when I am trying to update the values my event receiver fires or some times it got stuck(not firing). So could you please help me the possible alternative for this requirements.
    Can we user the Ecma Script(Client object model to preserve the value of selectec port) and Item updated event receiver on the same time?
    Is anything am doing wrong then please guide me.

    Hi,
    As I understand, when you updated values in the agent details list the Item updated event receiver got stuck sometimes.
    The item update event receiver will fire after the item has been saved, and the client object model script or the Ecma Script runs before the item is saved, so there is no conflict between the client object model script and item update event receiver.
    You could find out the reason about the item update event receiver gets stuck by debugging the event receiver.
    When you want to debug your event receivers, you have to attach to OWSTIMER.EXE and wait till they are executed. You can control this behavior using the Synchronization attribute. Also, if you’re looking for an easy way to debug an event receiver without
    having to manually attach a debugger to your code, you can use the System.Diagnostics.Debugger.Launch() method.
    The articles below are about how to debug in the event receiver in SharePoint 2010.
    http://sharepoint-kings.blogspot.jp/2013/02/debugging-event-receivers-in-sharepoint.html
    http://chakkaradeep.com/index.php/event-receivers-in-sharepoint-2010/
    http://sharesaint.com/?p=77
    Best regards,
    Sara Fan
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • How to create new subsite while adding new item to the list by using javascript?

    hi,
    I hav a task ie, when I add item to the list then subsite will create with that list item title and description . So By using javascript, I have to create subsite while adding new item to the list.
    Help me to solve this.
    Thank you, 

    Is your item getting added through Javascript client object model ? If yes, you can write in the success delegate of your list creation method the logic to create the subsite.
    function CreateListItem()
    var clientContext = new SP.ClientContext.get_current();
    var oList = clientContext.get_web().get_lists().getByTitle('List Name');
    var itemCreateInfo = new SP.ListItemCreationInformation();
    this.oListItem = oList.addItem(itemCreateInfo);
    oListItem.set_item('Title', 'My New Item!');
    oListItem.set_item('Body', 'Hello World!');
    oListItem.update();
    clientContext.load(oListItem);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.CreateListItemOnSuccess), Function.createDelegate(this, this.onQueryFailed));
    function CreateListItemOnSuccess() {
    var subsiteTitle = oListItem.get_item('Title');
    //Logic to create a subsite
    function onQueryFailed(sender, args) {
    I have added a sample flow for the above scenario. Have a look at the following lnk for how you can craete a subsite using ecmascript.
    http://ravisoftltd.wordpress.com/2013/03/06/sharepoint-2010-create-site-with-ecma-script-with/
    Geetanjali Arora | My blogs |

  • SharePoint Online list view threshold issues: "because it exceeds the list view threshold enforced by the administrator"

    SharePoint Online list view threshold issues: "because it exceeds the list view threshold enforced by the administrator"
    Office 365 SharePoint Online can be problematic when it comes to exceeding the list item threshold (e.g. 5,000).
    Examples of what happens after exceeding the threshold (e.g. 5,000 items):
    You can’t create new forms for the list in SharePoint Designer.
    You may have challenges with metadata fields in the forms (e.g. adding metadata values, editing metadata values, deleting the metadata column from the list).
    Cannot save the list as a template (i.e. you get the threshold error).
    Issue I'd like assistance with: how can I create a custom NewForm in SharePoint Designer
    when the list exceeds the threshold limit, given this is Office 365 SharePoint Online and I don't have access to increase that limit?
    As a control for my testing, I created another list with just a few custom columns with no list items --it worked fine for that list.
    I also tried clearing local AppData cache which didn't solve it. I'd need Central Admin on O365 SharePoint Online to increase the threshold which I don't have access
    to do. Errors received in SharePoint Designer:
    "Could not save the list changes to the server." After getting this, I tried to work around
    the create new forms issue by saving a copy of the original NewForm as NewForm2 and got the root error that I suspected was underlying it all:
    “Server error: the attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator”.
    Any ideas for how to create a new list form in SD?

    Thanks Alex.
    I just found a couple new workarounds instead of using SharePoint Designer:
    Method 1: Add web parts to the form pages on the client side:
    Go to the list and execute one of these actions depending what form you want to edit: create a new item (NewForm), edit an item (EditForm), or display an item (DispForm).
    With the form you want to edit displayed, go to the gear icon and click "Edit Page".
    You should now see the web part page show up with "Add a Web Part" as an option.
    Add a Content Editor or Script Editor web part.
    Add your custom code to either one to manipulate the HTML objects using your favorite web languages.
    Method 2: Use InfoPath 2013.
       The InfoPath 2013 route appears to work.

  • Assign Group permission to list item using client object model

    Hi,
       I am trying to add the list item and assign the permission to the list item by using SP 2010 client object model. The problem which i am facing that when i assign the group as a permission to the item, by automatically the limited access permission
    is added to the group. Please find the steps which i have followed,
    Step-1: Break role inheritance.
     foreach (var item in _listItemCollection)
                            if (item["FileLeafRef"].ToString().ToLower() == "xxx")
                                item.BreakRoleInheritance(true, false);
                                _clientContext.Load(item.RoleAssignments);
                                _folderItem = item;
    _clientContext.ExecuteQuery();
    Step 2: Remove all permissions of the list item.
       foreach (var assignment in _folderItem.RoleAssignments)
                        assignment.RoleDefinitionBindings.RemoveAll();
                        assignment.Update();
    _clientContext.ExecuteQuery();
    Step 3:
        Add Group as a permission to the list item.
      var role = _web.RoleDefinitions.GetByType(RoleType.Contributor);
                    var collRdb = new RoleDefinitionBindingCollection(_clientContext) { role };
                    Principal principal = _grp;
                    _folderItem.RoleAssignments.Add(principal, collRdb);
                    _folderItem.Update();
    _clientContext.ExecuteQuery();
        After adding the group successfully to the list item, i checked the group permission and it contains the value as "Contribute,Limited Access" to the site level and "Contribute" to the list item. Please guide me how to avoid to create Contribute,Limited
    Access role.
    Balaji

    Hi Dmitry,
      When I create the group and assign contribute permission, the group has the permission at the site level(to see the permission, click group and click view Group Permission).  I have added the list item and break the role inheritance permission
    and given the unique permission by providing group as a permission to the list item. After providing the permission, the group permission at the site level changed to "Contribute, Limited Access". I dont know how contribute permission changed to contribute,
    limited access.
    I found the workaround to fix this issue. I created the group and create the folder in the shared document library by using client object model. Due to facing some issue by providing the permission using client object model, i have created the event receiver
    to the document library and using server object model, i can able to assign the approprate group permission.
    Balaji

  • How can I get an item and it's attachments from the current list using SP's JavaScript Client Object Model on newform.aspx?

    I only recently learned/read about SharePoint's JavaScript Client Object Model. I'm reading online trying to figure this out but not having much luck.
    On newform.aspx (and dispform.aspx) I want to get the
    current list,
    the last item created, and it's attachments. I now the CAML query I need to get the last item created, but first I have to get the current list and I am not sure how to do that.
    I tried this but it returns null:
    SP.ListOperation.Selection.getSelectedList()

    Hi,
    For your issue, you can get the list name from the new form url and retrieve the list last created item :
    https://social.msdn.microsoft.com/Forums/office/en-US/b90a64f8-2255-41b0-9d91-78335dd4a4cf/get-list-name-from-list-url-through-javascript?forum=sharepointdevelopmentprevious
    http://msdn.microsoft.com/en-us/library/office/hh185007(v=office.14).aspx
    Best Regards,
    Eric
    Eric Tao
    TechNet Community Support

  • O365 SharePoint Online. Search no longer working. Where exactly are crawl logs?

    On o365/SharePoint Online 2013
    A few weeks Search stopped working on existing sites in SPO.  New site seem to index fine.  We can't find files and list entries inside doc libs and lists now.
    I'm looking at Search Settings in o365 and have added myself to have access to Crawl logs,
    but where are they in SPO?
    We've tried re-indexing sites, but it has not helped. 
    All search settings are the default, and I don see any exclusion of sites.
    Also, can somebody tell me what the typical turn around time is for expecting a document just added to show up on Search?

    Hi,
    According to your post, my understanding is that you wanted to see the crawl log in the SharePoint online.
    Per my experience, the users in the security group can view the crawl log data via the
    eDiscovery portal to check whether crawled content was successfully added to the search index, or whether indexing failed because of an error.
    For more information, you can refer to the following article.
    http://office.microsoft.com/en-001/office365-sharepoint-online-enterprise-help/crawl-log-permissions-HA103675567.aspx
    As this is the forum for the SharePoint server, I recommend you can post your question to the forum for SharePoint Online:
    http://community.office365.com/en-us/forums/154.aspx.
    More experts will assist you, then you will get more information relation to SharePoint Online.
    Thank you for your understanding and support.
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • Add attachments to List Item using JavaScript Client object model in SP2010

    Hi All ,
    I have created custom form for submitng data in list using javascript client object model/jquery .
    Now I want to add option to uplaod multiple attachments to that list item also .
    Is there option with client object model for uplaoding attachment.
    Thanks
    M
    Manesh G

    Can you try this and let me know
    using (SPSite _site = new SPSite(SPContext.Current.Site.Url))
        using (SPWeb _web = _site.OpenWeb())
         //Let's suppose your Item Id is 1
         int ItemId = 1;
         SPList  oList = _web.Lists["EmployeeList"];
         SPListItem  _item = oList.GetItemById(ItemId);
         if (FileUpload1.HasFile)
               _web.AllowUnsafeUpdates = true;
              Stream fs = FileUpload1.PostedFile.InputStream;
              byte[] _bytes = new byte[fs.Length];
              fs.Position= 0;
              fs.Read(_bytes, 0, (int)fs.Length);
              fs.Close();
              fs.Dispose();
              _item.Attachments.Add(FileUpload1.PostedFile.FileName, _bytes);
              _item.Update();
              _web.AllowUnsafeUpdates = false;

  • Get current item id using JavaScript Client Object Model

    I have a client query that query SharePoint list Items. Lets say it is a document library. I need to get the list item id of each. 
    I can query the Title of the document using this syntax.
    ctx.CurrentItem['Title']
    But when I try 
    ctx.CurrentItem['ID']
    for list item ID, it does not give a value. How can I solve this?

    Hi Malin,
    If you're using the JavaScript Client Object Model, try using the SPListItem.get_item('key') method as in the example below:
    <script>
    ExecuteOrDelayUntilScriptLoaded(function(){
    var arrIds = [];
    var clientContext = new SP.ClientContext();
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query></Query></View>');
    var items = clientContext.get_web().get_lists().getByTitle("Your List Title Here").getItems(camlQuery);
    clientContext.load(items);
    clientContext.executeQueryAsync(Function.createDelegate(this,function(){
    var itemEnumerator = items.getEnumerator();
    while(itemEnumerator.moveNext()){
    var itemId = itemEnumerator.get_current().get_item('ID');
    arrIds.push(itemId);
    alert(arrIds);
    }), Function.createDelegate(this, function(){
    alert("something went wrong");
    },"SP.js");
    </script>

  • How to change 'Modified By' column value when a new file is uploaded in SharePoint 2013 using Client Object Model?

    I want to change 'Modified By' column value of a file that is being uploaded using Client Object Model in SharePoint 2013. The problem is that the version of the file is changing. Kindly help me. The code that I am using is:
    using (System.IO.Stream fileStream = System.IO.File.OpenRead(m_strFilePath))
        Microsoft.SharePoint.Client.File.SaveBinaryDirect(m_clientContext, str_URLOfFile, fileStream, true);
        Microsoft.SharePoint.Client.File fileUploaded = m_List.RootFolder.Files.GetByUrl(str_URLOfFile);
        m_clientContext.Load(fileUploaded);
        m_clientContext.ExecuteQuery();
        User user1 = m_Web.EnsureUser("User1");
        User user2 = m_Web.EnsureUser("User2");
        ListItem item = fileUploaded.ListItemAllFields;
        fileUploaded.CheckOut();
        item["UserDefinedColumn"] = "UserDefinedValue1";
        item["Title"] = "UserDefinedValue2";
        item["Editor"] = user1;
        item["Author"] = user2;
        item.Update();
        fileUploaded.CheckIn(string.Empty, CheckinType.OverwriteCheckIn);
        m_clientContext.ExecuteQuery();

    Hi talib2608,
    Chris is correct for this issue, when calling update using ListItem.update method, it will increase item versions, using SystemUpdate and UpdateOverwriteVersion will update the list item overwrite version.
    these two methods are not available in CSOM/REST, only server object model is available for this.
    Thanks,
    Qiao Wei
    TechNet Community Support

  • How to update list item using client object model without changing created/modified dates?

    Hello All,
    I want to update list item using the SharePoint Client Object
    Model without updating the created / modified date. Is it possible?
    Please help.
    Thanks.

    Using the SystemUpdate method should do the trick, according
    to its literature.
    Additionally, would something like this be of any use for you?  Taken from this
    Stack Exchange thread: -
    public static class SPListItemExtensions
    /// <summary>
    /// Provides ability to update list item without firing event receiver.
    /// </summary>
    /// <param name="item"></param>
    /// <param name="doNotFireEvents">Disables firing event receiver while updating item.</param>
    public static void Update(this SPListItem item, bool doNotFireEvents)
    SPItemEventReceiverHandling rh = new SPItemEventReceiverHandling();
    if (doNotFireEvents)
    try
    rh.DisableEventFiring();
    item.Update();
    finally
    rh.EnableEventFiring();
    else
    item.Update();
    /// <summary>
    /// Provides ability to update list item without firing event receiver.
    /// </summary>
    /// <param name="item"></param>
    /// <param name="incrementListItemVersion"></param>
    /// <param name="doNotFireEvents">Disables firing event receiver while updating item.</param>
    public static void SystemUpdate(this SPListItem item, bool incrementListItemVersion, bool doNotFireEvents)
    SPItemEventReceiverHandling rh = new SPItemEventReceiverHandling();
    if (doNotFireEvents)
    try
    rh.DisableEventFiring();
    item.SystemUpdate(incrementListItemVersion);
    finally
    rh.EnableEventFiring();
    else
    item.SystemUpdate(incrementListItemVersion);
    /// <summary>
    /// Provides ability to update list item without firing event receiver.
    /// </summary>
    /// <param name="item"></param>
    /// <param name="doNotFireEvents">Disables firing event receiver while updating item.</param>
    public static void SystemUpdate(this SPListItem item, bool doNotFireEvents)
    SPItemEventReceiverHandling rh = new SPItemEventReceiverHandling();
    if (doNotFireEvents)
    try
    rh.DisableEventFiring();
    item.SystemUpdate();
    finally
    rh.EnableEventFiring();
    else
    item.SystemUpdate();
    private class SPItemEventReceiverHandling : SPItemEventReceiver
    public SPItemEventReceiverHandling() { }
    new public void DisableEventFiring()
    base.DisableEventFiring();
    new public void EnableEventFiring()
    base.EnableEventFiring();
    Steven Andrews
    SharePoint Business Analyst: LiveNation Entertainment
    Blog: baron72.wordpress.com
    Twitter: Follow @backpackerd00d
    My Wiki Articles:
    CodePlex Corner Series
    Please remember to mark your question as "answered" if this solves (or helps) your problem.

  • Powershell and Client Object Model - no error thrown if user is added more than once to same site or group

    Hello All -
    I am trying to add a user to a SharePoint site using PowerShell like below:-
    New-SPUser -UserAlias MyDomain\jan20a -Web http://SPServer/sites/MySite
    If I execute the above more than once, SharePoint does not throw that user already exists or something. This is not the same behavior in AD/Exchange PowerShell cmdlets.
    Also, even the client object model behaves the same way.
    Another interesting thing I noticed, I tried to remove a user from group in which the user was not part of it at all and still no error..!!
    Looks like SharePoint does not care of invalid input and just ignores it.
    Can anyone please confirm this and also the reason behind it ?

    It's not really invalid input, since the user exists and that is how SharePoint behaves (will behave same way in browser).  Try to input a user that and misspell the name, e.g. say you didn't have a MyDomain\Jan21a, then try to use same script above,
    only with invalid data.  It will bark at you.  Or try using a web that it cannot find, one that does not exist.  You'll get what I like to call, the red badge of courage if you enter invalid data.
    you can test that sharepoint will let you enter a user twice in the browser, and nothing bad comes from it.  Powershell is just unable to tell that the user was not in the site, when you removed it the second time. 
    Hope that confirms it, if it does please mark this reply accordingly.  thanks
    Stacy Simpkins | MCSE SharePoint | www.sharepointpapa.com

  • Item.SystemUpdate for Client Object Model in sharepoint 2010

    I have a javascript that modifies a column/field in the list item when opened. However, this changes the Last Modified By field of the item.
    is there a SystemUpdate method for Client Object Model?
    ----------------------- Sharepoint Newbie

    I got a work around for this problem..
    Before updating the Modified, Modified By values, First we need to Disable the version settings for document library. Once the fields updated then again we need to enable the version settings. 
    find the updated code below..
                                          //Disable Version settings for DOC LIB
    before update Metadata
                                            _List.EnableVersioning
    = false;
                                            _List.Update();
                                            _cContext.ExecuteQuery();
                                           ListItem item = newFile.ListItemAllFields;
                                           _cContext.Load(item);
                                            //Updating Metadata Created,
    CreatedBy, Modified, Modified By
                                             item["Created"]
    = "8/10/2013 7:04 PM";
                                             item["Author"] = CreatedUserValue;
                                             item["Modified"] = "8/10/2013 7:04 PM";
                                             item["Editor"] = ModifiedUserValue;
                                             item.Update();
                                            _cContext.ExecuteQuery();
                                            //Enable Version settings
    for DOC LIB after update Metadata
                                               _List.EnableVersioning
    = true;
                                              _List.Update();
                                            _cContext.ExecuteQuery();
    Rajendra

  • CAML Query to get specific item in folder based on dropdown value using Javascript client object model

    Hi,
    I am using the Javascript Client object model.
    I have a custom list and a custom document library.
    Custom list contains 2 columns - dlName , dlValue
    The document library contains 2 folders - "folder1" ,  "folder2" and contains some images.
    The image name starts with the "dlValue" available in the custom list
    I am using a visual webpart and using javascript client object model.
    I am trying to achieve the below functionality:
    1) Load a dropdown with the custom list.
    2) set the image based on the value in dropdown.
    I have achieved the first option, I have set the dropdown, but not sure how to query the folder and set the image.
    Below is the code i have used so far:
    //In Visual webpart
    <select id="ddlTest" >
    </select>
    <br/>
    <div id="PreviewLayer">
    <img id="imgPlaceHolder" runat="server" alt="Image" title="imgPlaceHolder" src=" " />
    </div>
    // In Javascript file
    function RenderHtmlOnSuccess() {
    var ddlTest = this.document.getElementById("ddlTest");
    ddlTest.options.length = 0;
    var enumerator = this.customListItems.getEnumerator();
    while (enumerator.moveNext()) {
    var currentItem = enumerator.get_current();
    var dropdownValue = currentItem.get_item("dlValue");
    ddlTest.options[ddlTest.options.length] = new Option(currentItem.get_item("dlName"), dropdownValue);
    setImage(dropdownValue); // Not sure how to query the folder and set the image based on value.
    // Also if dropdown value is changed, corresponding image should be shown
    How to query the folder and based on dropdown value, show the image? Also, how to handle the dropdown value change?
    Thanks

    Hi,
    Here are two links for your reference:
    Example of how to Get Files from a Folder using Ecmascript \ Javascript client object model in SharePoint 2010
    http://sharepointmantra.wordpress.com/2013/10/19/example-of-how-to-get-files-from-a-folder-using-ecmascript-javascript-client-object-model-in-sharepoint-2010/
    SP2010 JSOM Client Object Model: How to get all documents in libraries including all folders recursively
    http://sharepoint.stackexchange.com/questions/70185/sp2010-jsom-client-object-model-how-to-get-all-documents-in-libraries-including
    In SharePoint 2013, we can also use REST API to achieve it.
    http://msdn.microsoft.com/en-us/magazine/dn198245.aspx
    Thanks,
    Dennis Guo
    TechNet Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Dennis Guo
    TechNet Community Support

  • Adding new item at POD

    Hi all,
    We have a requirement from business, basically:
    1) we receive sales order with item A,B and C (any qty).
    2) We deliver them in one delivery note and good issue.
    3) We receive a POD wich confirm A, and c item, but item B was really item X (change of code, or new item at delivery)
    asuming inventory has to be solved, but we need to invoice (bill) right qties and items, adding to delivery or pod the new item.
    Any clue about how best to solve it ?

    Hi Goverdhan,
    try with this BADI: CJ_DOCUMENT
    Reddy

Maybe you are looking for