Tá samplaí maithe go leor de thabhairt cothrom le dáta liostaí saincheaptha tríd an SDK. Anseo tá eile fós.
Fadhb Gnó: Tá foirm InfoPath deartha a chuireann ar chumas úsáideoirí a chur isteach foréilimh a cheannach ar líne. Ba chóir go mbeadh líon Foréileamh PO luachanna slánuimhir atá bunaithe ar ord traidisiúnta agus ríomh go huathoibríoch.
Réiteach Gnó: Cruthaigh liosta MOSS saincheaptha ina dhá cholún: "ControlField" and "ControlValue". Tá an colún luach an uimhir foréileamh cheannach eile. Note that the generic "control" ainmniú coinbhinsiún foráil do réimsí rialaithe sa todhchaí is féidir a úsáid mar is gá.
Réiteach Teicniúil: Cruthaigh seirbhís gréasáin rochtain ag an gcliant InfoPath. Filleann an tseirbhís idirlín ar ais an uimhir foréileamh cheannach eile agus cothrom le dáta ar an luach an liosta.
Ceachtanna a Foghlaimíodh:
- Nuair a chur leis an tseirbhís seo gréasáin mar fhoinse do na sonraí ar an bhfoirm InfoPath, Fuair mé gur gá é a thiontú go le UDC agus é a stóráil i leabharlann nasc sonraí.
- Chinn mé freisin sé riachtanach chun a chumasú tras fearainn scriptithe trí sheirbhísí lárnacha riaracháin // bainistíochta i bhfeidhm // cumraíocht freastalaí fhoirm.
- An chéad uair a rinne an bhfoirm teacht ar an tseirbhís idirlín, a thógann sé ar feadh tamaill agus ar ócáid, Bheadh sé am amach. Fiddled mé le suímh i gcumraíocht freastalaí fhoirm a leathnú na socruithe Teorainn ama agus go bhfuil an chuma chun cabhrú le.
An Cód:
ag baint úsáide as Córas;
ag baint úsáide as System.Web;
ag baint úsáide as System.Web.Services;
ag baint úsáide as System.Web.Services.Protocols;
ag baint úsáide as Microsoft.SharePoint;
ag baint úsáide as System.Configuration;
[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
poiblí ranga PoService : System.Web.Services.WebService
{
poiblí PoService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
/// <achoimre>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </achoimre>
/// <tuairisceáin></tuairisceáin>
[WebMethod]
poiblí teaghrán GetNextPoNumber()
{
teaghrán SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
teaghrán SpPoControlListName; // Name of the actual MOSS list containing the Po control.
SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();
teaghrán nextPoReqNumber = "xyzzy";
ag baint úsáide as (SPSite site = nua SPSite(SpPoControlSiteName))
{
ag baint úsáide as (SPWeb web = site.OpenWeb())
{
SPList currentList = web.Lists[SpPoControlListName];
foreach (Spit controlItem i currentList.Items)
{
más rud é (((teaghrán)controlItem["ControlField"]).Cothrom("NextPoNumber"))
{
nextPoReqNumber = (teaghrán)controlItem["ControlValue"];
int int_nextPoReqNumber;
int_nextPoReqNumber = Tiontaigh.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")
ar ais nextPoReqNumber;
}
}