Það eru mörg góð dæmi um að uppfæra sérsniðnar lista með SDK. Hér er enn annar.
Viðskipti vandamál: InfoPath mynd hefur verið hannað sem gerir notendum kleift að slá á netinu requisitions kaupa. PO beiðni tölur ættu að vera hefðbundin röð undirstaða gildi heiltölu og reiknaðar sjálfkrafa.
Business Solution: Búa til sérsniðnar MOSS lista með tveimur dálkum: "ControlField" and "ControlValue". Verðmæti dálkur inniheldur næsta kaup beiðni númer. Note that the generic "control" nafngiftir venju kveðið framtíð sviðum stjórn heimilt að nota eftir þörfum.
Tæknilegar Lausn: Búa til vefur þjónusta nálgast með því Infopath viðskiptavinur. Vefurinn þjónusta skilar aftur næsta kaup beiðni númer og uppfærir virði listanum.
Reynslu sem fengist:
- Þegar þú bætir við þessa vefsíðu þjónustu sem gögn uppspretta að Infopath formi, Mér fannst það nauðsynlegt að umbreyta það til a UDC og geyma það í gagnatengingar bókasafn.
- Ég fann líka nauðsynlegt að gera kross ríki forskriftarþarfir gegnum Mið þjónustu gjöf // Umsókn Stjórn // mynd framreiðslumaður stelling.
- Í fyrsta skipti sem mynd reyndi að opna vefþjónustu, það tekur tíma og stundum, það myndi tímalokar. Ég fikta í stillingum í formi framreiðslumaður stelling til að auka the tími stilling og það virtist að hjálpa.
The númer:
með System;
með System.Web;
með System.Web.Services;
með System.Web.Services.Protocols;
með Microsoft.SharePoint;
með System.Configuration;
[VefÃ(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
almennings flokki PoService : System.Web.Services.VefÃ
{
almennings PoService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
/// <Yfirlit>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </Yfirlit>
/// <skilar></skilar>
[WebMethod]
almennings band GetNextPoNumber()
{
band SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
band SpPoControlListName; // Name of the actual MOSS list containing the Po control.
SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();
band nextPoReqNumber = "xyzzy";
með (SPSite site = ný SPSite(SpPoControlSiteName))
{
með (SPWeb web = site.OpenWeb())
{
SPList currentList = web.Lists[SpPoControlListName];
framhandleggur (Spýta controlItem í currentList.Items)
{
ef (((band)controlItem["ControlField"]).Jafngildir("NextPoNumber"))
{
nextPoReqNumber = (band)controlItem["ControlValue"];
INT int_nextPoReqNumber;
int_nextPoReqNumber = Umbreyta.ToInt32(nextPoReqNumber);
int_nextPoReqNumber ;
controlItem["ControlValue"] = int_nextPoReqNumber;
controlItem.Update();
}
} // Locating, reading and updating the PO number in the list.
} // using spweb web = site.openweb()
} // using spsite site = new spsite("http://localhost/mizuho")
aftur nextPoReqNumber;
}
}