vLookups stopped working in list Edit form

Home Forums vLooup for SharePoint vLookups stopped working in list Edit form

Viewing 6 reply threads
  • Author
    Posts
    • #11327
      Gerard Graham
      Participant

        Hi there

        I’ve implemented vLookup across a number of lists but just realised that for those in the root of my site collection, all vLookups are not working while in the edit form. They all work in the display forms, returning results as expected, but no results at all in the Edit forms. Lists in sub sites are working as expected with the vLookups working in both Edit and Display forms.

        Any idea where the problem lies? I’m on DFFS 4.365 and vLookup 2.266

        Regards

        Gerry

      • #11339
        Alexander Bautz
        Keymaster

          I have a hunch it could be the “List base URL”, but if you append “&vLookupDebug=1” to the URL you can “see” the query and the output:

          Example:

          /Lists/DFFS_TestList/DispForm.aspx?ID=123&vLookupDebug=1

          Post the output here.

          Alexander

        • #11357
          Gerard Graham
          Participant

            Hi Alexander

            First is the output from the Edit form followed by the output from the Display form for the same item.

            Thanks

            Gerry

            Edit
            Field: vLookupDivisions

            blob:
            {“noteToSelf”:””,”listName”:”ContDB-Divisions”,”listBaseUrl”:”/celcis”,”query”:{“fin1″:”Org”,”type1″:”Text”,”value1″:”,”,”fin2″:””,”type2″:”Text”,”value2″:””,”fullCAML”:””,”AndOr”:””,”operator1″:”Eq”,”operator2″:”Eq”,”orderBy”:”ID”,”rowLimit”:””},”childTableHeight”:””,”viewFields”:[{“fin”:”Title”,”settings”:””,”disp”:{“default”:””},”colWidth”:””,”colWidthOperator”:”px”},{“fin”:”City”,”settings”:””,”disp”:{“default”:”City”},”colWidth”:””,”colWidthOperator”:”px”},{“fin”:”Contacts”,”settings”:””,”disp”:{“default”:”Contacts”},”colWidth”:””,”colWidthOperator”:”px”}],”action”:”concat”,”action_groupBy”:””,”action_groupByHeaderStyle”:””,”action_groupByExpanded”:false,”action_groupByPrefix”:{“default”:””},”showTotals”:false,”openInDlg”:true,”disable”:false,”refreshAllOnCallback”:false,”viewItemLinkIn”:{“disp”:true,”edit”:true,”view”:true},”editItemLinkIn”:{“disp”:true,”edit”:true,”view”:true},”hideLabelInForm”:true,”label”:{},”moreItemsLabel”:{“default”:””},”noItemsLabel”:{“default”:””},”addNew”:true,”newItemInDlg”:true,”addNewDlgOpt”:{“width”:””,”height”:””,”x”:””,”y”:””,”allowMaximize”:false,”showMaximized”:false,”showClose”:false,”autoSize”:false},”addNewLabel”:{“default”:”New Division”},”addNewIn”:{“disp”:true,”edit”:true,”view”:true},”addNewFolder”:false,”addNewFolderLabel”:{“default”:””},”addNewFolderIn”:{“disp”:false,”edit”:false},”addNewDocLabel”:{},”inUrl”:[{“from”:”Title”,”to”:”Org”,”hide”:false}],”folderMetadata”:[],”uploadToFolder”:true,”uploadToFolderLabel”:””,”openFolder”:true,”openFolderLabel”:””}
            Field: vLookupDivisions

            query:
            <View Scope=’RecursiveAll’><Query><Where><Eq><FieldRef Name=’Org’ /><Value Type=’Text’>,</Value></Eq></Where><OrderBy><FieldRef Name=’ID’ /></OrderBy></Query></View>
            Field: vLookupDivisions

            Number of items matching the query: 0

            Display
            Field: vLookupDivisions

            blob:
            {“noteToSelf”:””,”listName”:”ContDB-Divisions”,”listBaseUrl”:”/celcis”,”query”:{“fin1″:”Org”,”type1″:”Text”,”value1″:”A Life Explored”,”fin2″:””,”type2″:”Text”,”value2″:””,”fullCAML”:””,”AndOr”:””,”operator1″:”Eq”,”operator2″:”Eq”,”orderBy”:”ID”,”rowLimit”:””},”childTableHeight”:””,”viewFields”:[{“fin”:”Title”,”settings”:””,”disp”:{“default”:””},”colWidth”:””,”colWidthOperator”:”px”},{“fin”:”City”,”settings”:””,”disp”:{“default”:”City”},”colWidth”:””,”colWidthOperator”:”px”},{“fin”:”Contacts”,”settings”:””,”disp”:{“default”:”Contacts”},”colWidth”:””,”colWidthOperator”:”px”}],”action”:”concat”,”action_groupBy”:””,”action_groupByHeaderStyle”:””,”action_groupByExpanded”:false,”action_groupByPrefix”:{“default”:””},”showTotals”:false,”openInDlg”:true,”disable”:false,”refreshAllOnCallback”:false,”viewItemLinkIn”:{“disp”:true,”edit”:true,”view”:true},”editItemLinkIn”:{“disp”:true,”edit”:true,”view”:true},”hideLabelInForm”:true,”label”:{},”moreItemsLabel”:{“default”:””},”noItemsLabel”:{“default”:””},”addNew”:true,”newItemInDlg”:true,”addNewDlgOpt”:{“width”:””,”height”:””,”x”:””,”y”:””,”allowMaximize”:false,”showMaximized”:false,”showClose”:false,”autoSize”:false},”addNewLabel”:{“default”:”New Division”},”addNewIn”:{“disp”:true,”edit”:true,”view”:true},”addNewFolder”:false,”addNewFolderLabel”:{“default”:””},”addNewFolderIn”:{“disp”:false,”edit”:false},”addNewDocLabel”:{},”inUrl”:[{“from”:”Title”,”to”:”Org”,”hide”:false}],”folderMetadata”:[],”uploadToFolder”:true,”uploadToFolderLabel”:””,”openFolder”:true,”openFolderLabel”:””}
            Field: vLookupDivisions

            query:
            <View Scope=’RecursiveAll’><Query><Where><Eq><FieldRef Name=’Org’ /><Value Type=’Text’>A Life Explored</Value></Eq></Where><OrderBy><FieldRef Name=’ID’ /></OrderBy></Query></View>
            Field: vLookupDivisions

            Number of items matching the query: 1

          • #11365
            Alexander Bautz
            Keymaster

              Hi,
              The query is not the same in the two “blobs” above so I’ll have to see a screenshot of the vLookup setup (the CAML query part).

              Alexander

            • #11375
              Gerard Graham
              Participant

                Hi there

                Is the problem the current item field I’m using? DisplayName is a calculated field.

                Gerry

                Attachments:
              • #11396
                Alexander Bautz
                Keymaster

                  Hi,
                  Yes this is the reason. When using [currentItem:NameOfField] I pull the value from the field in the form when in EditForm – and a calculated column is not present in EditForm.

                  In DispForm I use a query to find all the values, and I’m not sure doing this differently in EditForm makes any sense (you have one more query to perform, but this does not take many milliseconds to complete).

                  Try putting the code snippet below in the Custom JS in DFFS of your EditForm to see if it makes any difference. Let me know how it works out so I can update the vLookup script if it performs as expected.

                  Alexander

                  spjs.vLookup.fillInVariables = function(str,id,listGuid){
                  	var split, finID, fin, viewFields, item, val, vArr, q;
                  	finID = {};
                  	viewFields = [];
                  	vArr = str.match(/\[currentItem:[^\]]*\]/gi);
                  	if(vArr!==null){
                  		spjs.$.each(vArr,function(i,v){
                  			split = v.replace(/\[|\]/g,'').split(':');
                  			fin = split[1];
                  			if(fin!==null){
                  				if(fin==='ID'){
                  					str = str.split(v).join(id);
                  				}else{
                  					if(split.length===3){
                  						finID[fin]=split[2];
                  					}
                  					viewFields.push(fin);
                  					str = str.split(v).join("~"+fin+"~");
                  				}
                  			}
                  		});
                  		if(viewFields.length>0){
                  			item = spjs_getItemByID({"listName":listGuid,"id":id,"viewFields":viewFields,"scope":"RecursiveAll"});
                  			if(item!==null ){
                  				spjs.$.each(viewFields,function(i,fin){
                  					val = (item[fin]!==null)?item[fin]:'';
                  					vArr = val.split(';#');
                  					switch(finID[fin]){
                  						case 'id':
                  							val = vArr[0];
                  						break;
                  						default:
                  							if(vArr.length>1){
                  								val = vArr[1];
                  							}else{
                  								val = vArr[0];
                  							}
                  					}
                  					str = str.split("~"+fin+"~").join(val);
                  				});
                  			}
                  		}
                  	}
                  	// URL
                  	vArr = str.match(/\[URL:[^\]]*\]/g);
                  	if(vArr!==null){
                  		spjs.$.each(vArr,function(i,v){
                  			split = v.replace(/\[|\]/g,'').split(':');
                  			q = split[1];
                  			if(q!==null){
                  				if(GetUrlKeyValue(q) !== ""){
                  					str = str.split(v).join(GetUrlKeyValue(q));
                  				}
                  			}
                  		});
                  	}
                  	// Variables
                  	vArr = str.match(/\{var:[^\}]*\}/g);
                  	if(vArr !== null){
                  		$.each(vArr,function(i,v){
                  			try{
                  				val = eval(v.split(":")[1].replace(/\}|\\/g,""));
                  				if(val === undefined){
                  					alert("[vLookup - undefined variable]\n\n"+v.split(":")[1].replace(/\}|\\/g,""));
                  				}else{
                  					str = str.split(v).join(val);
                  				}
                  			}catch(err){
                  				alert(err);
                  			}
                  		});		
                  	}
                  	return str;
                  };
                • #11399
                  Gerard Graham
                  Participant

                    Hi there

                    It works in all the lists I’ve tried it on so far. I realise now I should have been basing the filter on a static field instead, but another new feature added!

                    Cheers

                    Gerry

                Viewing 6 reply threads
                • You must be logged in to reply to this topic.