Getting Item and value from list by Specific Data
-
10-12-2019 - |
Question
I would like getting a specific item from a specific list but i don't have ID, just a field (column) value.
Here's my list:
On the site, i have only the name...i'd like to recover the paid leave field value.
Here's what i tried to do but...
SPWeb thisWeb = SPContext.Current.Web;
SPUser currentUser = thisWeb.CurrentUser;
SPQuery myQuery = new SPQuery();
myQuery.Query = "<Where><Eq><FieldRef Name='User'/>" +
"<Value Type='Text'>"+ currentUser.Name +"</Value></Eq></Where>";
SPListItemCollection _items = thisWeb.Lists["Sumarry"].GetItems(myQuery);
Solution
You must change your query to:
"<Where><Eq><FieldRef Name='User' />"+
"<Value Type='User'>"+ currentUser.LoginName +"</Value></Eq></Where>"
See the link for details
OTHER TIPS
Code to get the data from list using ecma script object model.
<SharePoint:ScriptLink Name="SP.js" runat="server" OnDemand="true" Localizable="false" />
<SharePoint:FormDigest runat="server" />
<script src="../jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
var rowscount = 1;
function retrieveCurrentListProperties() {
var clientContext = new SP.ClientContext.get_current();
this.web = clientContext.get_web();
var list = web.get_lists().getByTitle("News");
var camlQuery = new SP.CamlQuery();
//var q = "<View><Query><Where><Eq><FieldRef Name='End_x0020_Date'/><Value Type='DateTime'><Today/></Value></Eq></Where></Query></View>";
//var q = "<View><Query><Where><Eq><FieldRef Name='ApprovalStatus'/><Value Type='Text'>Approve</Value></Eq></Where></Query></View>";
var q = "<View><Query><Where><Eq><FieldRef Name='ApprovalStatus'/><Value Type='Text'>Approve</Value></Eq></Where></Query><RowLimit>" + rowscount + "</RowLimit></View>";
// var q = "<View></View>";
camlQuery.set_viewXml(q);
this.listItems = list.getItems(camlQuery);
clientContext.load(this.listItems);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onSuccess),
Function.createDelegate(this, this.onFail));
}
function onSuccess(sender, args) {
// alert('web title:' + this.list.get_ApprovalStatus() + '\n ID:' + this.list.get_id() + '\n Created Date:' + this.list.get_created());
// alert("success " + this.listItems.get_id() + " arbs " + args);
var linkUrl = "";
var imageUrl = "";
var listEnumerator = this.listItems.getEnumerator();
while (listEnumerator.moveNext()) {
var currentItem = listEnumerator.get_current();
linkUrl = currentItem.get_item('Title');
// imageUrl = currentItem.get_item('ImageURL');
// document.write('<img src="' + imageUrl + '"+>');
// alert(linkUrl);
$('#maindiv').append("<div>" + linkUrl + "</div>");
}
}
function onFail(sender, args) {
alert('failed to get list. Error:' + args.get_message());
}
SP.SOD.executeFunc('sp.js', null, function() {
retrieveCurrentListProperties();
});
function filldata() {
// alert("called");
$('#maindiv').empty();
rowscount = rowscount + 1;
retrieveCurrentListProperties();
}
</script>
<input id="Button1" type="button" onclick="filldata()" value="Loadmore" />
<div id="maindiv"> </div>
Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange