我在infopath 2010表單上使用VSTA C#,通過使用級聯下拉(課程標題&課程詳細信息)信息顯示。顯示晚於當前日期的課程細節
因此,當用戶選擇課程名稱下拉菜單時,課程詳細信息將填入Sharepoint 2010列表中的開始時間,結束時間,位置和開發類別信息。
現在我遇到的問題是,我希望用戶只能查看今天和以後的課程信息,而不能查看過去的課程信息。這是我顯示課程細節的代碼。我試圖聲明一個DateTime變量,並用它與轉換爲DateTime有今天,要比較的字符串,使其最遲DateTime變量,但在我選擇課程標題它給了我一個錯誤,它說:「對象引用未設置爲對象的實例「。隨着故障排除提示:「使用new關鍵字來創建一個對象實例檢查,以確定該物體是調用方法前空找gengeral幫助這個例外。」
using (web = site.OpenWeb())
{
try
{
//SPSecurity.RunWithElevatedPrivileges(new SPSecurity.CodeToRunElevated(delegate()
//{
SPList lstDocs = web.Lists["Training Calander"] as SPList;
string sTitle = "";
string sSDate = "";
string sEDate = "";
string sLocation = "";
string SDCategory = "";
string CourseDetails = "";
//DateTime TodayDate = DateTime.Today;
//DateTime dt1 = Convert.ToDateTime(sEDate);
if (lstDocs != null)
{
SortedList<string, string> lstDetails = new SortedList<string, string>();
foreach (SPListItem item in lstDocs.Items)
{
try
{
sTitle = item["Title"].ToString();
sSDate = item["StartTime"].ToString();
sEDate = item["EndTime"].ToString();
sLocation = item["Location"].ToString();
SDCategory = item["Development Category"].ToString();
}
catch { }
if (sTitle == nValue) //&& (dt >= TodayDate))
{
try
{
CourseDetails = sSDate + " - " + sEDate + " | " + sLocation + " | " + SDCategory;
lstDetails.Add(CourseDetails,CourseDetails);
}
catch { }
}
}
的startDate實際上是一個字符串。感謝您的幫助的輸入...但可惜我仍然有同樣的問題 – Martin 2011-02-09 14:03:28
啊,不應該是一個問題。你有沒有試過Date.Parse(sSDate)?您可以使用上面的Vixen格式,或者在foreach循環之前執行查詢,以便您可以查看觀察器中的結果集。 – nycdan 2011-02-09 14:15:41