Silverlight 如何使用客户端对象模型从Sharepoint server 2010检索最大日期和最小日期?
我正在开发silverlight web部件。我有一个列表条目日志。在这个列表中,我存储了基本信息的所有条目。所有条目都已成功保存。现在,我想在条目日志列表中检索创建这些条目的最大日期和最小日期。因此,我使用以下代码Silverlight 如何使用客户端对象模型从Sharepoint server 2010检索最大日期和最小日期?,silverlight,datetime,sharepoint-2010,sharepoint-clientobject,Silverlight,Datetime,Sharepoint 2010,Sharepoint Clientobject,我正在开发silverlight web部件。我有一个列表条目日志。在这个列表中,我存储了基本信息的所有条目。所有条目都已成功保存。现在,我想在条目日志列表中检索创建这些条目的最大日期和最小日期。因此,我使用以下代码 public void PopulateTimeLog(String paymentStatus, String currentUser, timeLogDelegate populateCombo) { timeLogDelegateClient
public void PopulateTimeLog(String paymentStatus, String currentUser, timeLogDelegate populateCombo)
{
timeLogDelegateClient = populateCombo;
ClientContext clientContext = ClientContext.Current;
List list = clientContext.Web.Lists.GetByTitle("Time Log");
string query = "<View>";
query += "<Query>";
query += "<Where>";
query += "<And>";
query += "<Eq>";
query += "<FieldRef Name='Author'></FieldRef>";
query += "<Value Type='Lookup'>" + currentUser + "</Value>";
query += "</Eq>";
query += "<Eq>";
query += "<FieldRef Name='Payment_x0020_Status'></FieldRef>";
query += "<Value Type='Text'>" + paymentStatus + "</Value>";
query += "</Eq>";
query += "</And>";
query += "</Where>";
query += "<OrderBy>";
query += "<FieldRef Name='Created' Ascending='False'></FieldRef>";
query += "</OrderBy>";
query += "</Query>";
query += "</View>";
CamlQuery Query = new CamlQuery();
Query.ViewXml = query;
listItemsTimeLog = list.GetItems(Query);
//clientContext.Load(list);
//clientContext.Load(listItemsTimeLog);
clientContext.Load(listItemsTimeLog, itms => itms.Include(
itm => itm["Created"]));
clientContext.ExecuteQueryAsync(HandleTimeLogRequestSucceeded, HandleTimeLogRequestFailed);
}
private void HandleTimeLogRequestSucceeded(object sender, ClientRequestSucceededEventArgs e)
{
////call back on the UI thread
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
{
timeLogDelegateClient(listItemsTimeLog);
});
}
在上面的代码中,我将在索引0处获取listItemsTimeLog中的最大日期,在最后一个索引处获取listItemsTimeLog中的最小日期。在上面的查询中,我不想检索listItemsTimeLog中的所有日期。如何简化上述查询,以便只获得两个字符串值—一个字符串包含最大日期,另一个字符串包含最小日期。如果我能通过网络服务做到这一点,那么对我来说也没问题吧?我该怎么做?你能给我提供一些代码让我解决上面的问题吗?你可以用它,例如
马克斯
闵
<View>
<Query>
<Where>
<And>
<Eq>
<FieldRef Name='Author'></FieldRef>
<Value Type='Lookup'>[your use name]</Value>
</Eq>
<Eq>
<FieldRef Name='Payment_x0020_Status'></FieldRef>
<Value Type='Text'>[ your payment status]</Value>
</Eq>
</And>
</Where>
<OrderBy>
<FieldRef Name='Created' Ascending='False'></FieldRef>
</OrderBy>
</Query>
<RowLimit>1</RowLimit>
</View>
<View>
<Query>
<Where>
<And>
<Eq>
<FieldRef Name='Author'></FieldRef>
<Value Type='Lookup'>[your use name]</Value>
</Eq>
<Eq>
<FieldRef Name='Payment_x0020_Status'></FieldRef>
<Value Type='Text'>[ your payment status]</Value>
</Eq>
</And>
</Where>
<OrderBy>
<FieldRef Name='Created' Ascending='True'></FieldRef>
</OrderBy>
</Query>
<RowLimit>1</RowLimit>
</View>