SAMANŲ: Atnaujinti pasirinktinį sąrašą

Yra nemažai pavyzdžių, atnaujinimą pasirinktiniais sąrašais per SDK. Štai dar vienas.

Verslo problemas: InfoPath šablonas buvo sukurtas taip kad leidžia vartotojams įvesti internete pirkimo paraiškos. PO paraiškų skaičius turėtų būti tradicinis seka pagal sveikojo skaičiaus reikšmes ir apskaičiuojama automatiškai.

Pervežimų: Kurti pasirinktinį MOSS sąrašą, kuriame yra dviejų stulpelių: "ControlField" ir "ControlValue". Reikšmės stulpelyje yra kitą pirkimo paraiškos numeris. Atkreipkite dėmesį, kad bendras "kontrolės" vardų suteikimo konvencija numato būsimus tikrinimus laukus, kurie gali būti naudojami kaip reikalingas.

Techninis sprendimas: Sukurti interneto paslauga prieinama InfoPath kliento. Tinklo tarnybos grąžina atgal kitą pirkimo paraiškos numerį ir atnaujina sąrašą vertės.

Pamokas:

  • Kai įtraukti šios žiniatinklio tarnybos kaip duomenų šaltinį į "InfoPath" forma, Radau jį reikia konvertuoti į a udc ir laikyti jį į duomenų ryšių biblioteka.
  • Man taip pat atrodė būtina, kad kirsti domenų scenarijų per centrinių tarnybų administracija // programos tvarkymo // formos serverio konfigūracijos.
  • Pirmą kartą formą bandė prieigai prie interneto paslauga, ji mano, o ir kartais, tai laiko. Aš fiddled su formos serverio konfigūracijos parametrus plėsti paskirtojo laiko pabaigos parametrai ir, atrodė, kad padėtų.

Kodas:

naudojant Sistemos;
naudojant System.Web;
naudojant System.Web.Services;
naudojant System.Web.Services.Protocols;
naudojant Microsoft.SharePoint;
naudojant System.Configuration;

[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
visuomenės klasės PoService : System.Web.Services.WebService
{
visuomenės PoService () {

//Anuliuoti šią eilutę jei naudojant suprojektuoti
//InitializeComponent();
}

/// <santrauka>
/// Gauti kitą PO numerį iš sharepoint po skaičiaus kontrolės sąrašo.
/// Prieaugio PO numeris į tą sąrašą.
/// </santrauka>
/// <Grąžina></Grąžina>
[WebMethod]
visuomenės eilutė GetNextPoNumber()
{
eilutė SpPoControlSiteName; // Tikrasis MOSS svetainės, kurioje yra PO teisių sąrašo pavadinimas.
eilutė SpPoControlListName; // Tikrasis MOSS sąrašą, kuriame yra Po kontrolės, pavadinimas.

SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();

eilutė nextPoReqNumber = "xyzzy";

naudojant (SPSite svetainės = naujas SPSite(SpPoControlSiteName))
{
naudojant (SPWeb interneto = svetainėje. OpenWeb())
{

SPList currentList = interneto. Sąrašai[SpPoControlListName];

foreach (SPItem controlItem į currentList.Items)
{

Jei (((eilutė)controlItem["ControlField"]).Yra lygi("NextPoNumber"))
{
nextPoReqNumber = (eilutė)controlItem["ControlValue"];

LC int_nextPoReqNumber;
int_nextPoReqNumber = Konvertuoti.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

controlItem["ControlValue"] = int_nextPoReqNumber;
controlItem.Update();
}

} // Rasti, skaitymo ir atnaujinimo PO skaičių sąraše.


} // naudojant spweb interneto = site.openweb()
} // naudojant spsite svetainės = naujas spsite("http://localhost/mizuho")

grįžti nextPoReqNumber;

}
}

Viena mintis apie „SAMANŲ: Atnaujinti pasirinktinį sąrašą

  1. KSP rašė:
    Max Paul,
    Mes panašiai kas esate, kuriuose paminėtas bet problema yra, aš noriu naudoti šią interneto svetainę ir įkelti balanso serveryje Servië.Taigi,kaip apdoroti lygiagrečiai prašo šiuo atveju arba kaip padaryti naują prašymą palaukti ir tik vieną prašymą turėtų atnaujinti sąrašą skaičių iki tada bet kurio kito prašymo turėtų būti que.Prašome leiskite man žinoti, kaip tai pasiekti.
    Ačiū iš anksto.
    Atsakyti

Palik atsakymą į KSP rašė: Atšaukti atsakymą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *