Mi poŝtis sekretan ad por vendanta mian aŭton en Bergen gubernio, NJ dimanĉe nokto. Mi ricevis plurajn enketojn tra retpoŝto abrupte poste kaj fermita la trakti iun marde nokto.
Preskaŭ tro bona esti vera …
Mi poŝtis sekretan ad por vendanta mian aŭton en Bergen gubernio, NJ dimanĉe nokto. Mi ricevis plurajn enketojn tra retpoŝto abrupte poste kaj fermita la trakti iun marde nokto.
Preskaŭ tro bona esti vera …
Mi ne modifas antaŭenirita serĉan XSLT tre ofte, Do ĝi ŝajnas ŝatas min estas grimpanta malgrandajn montetojn ĉiu tempo.
Mia plej nova leciono estas tio ĉi: Kazaj aferoj kiam referencanta kolumnon. En mia altnivela serĉo, Mi havas kolumnojn difinita kiel tio ĉi:
<Radiko Xmlns:Xsi="Http://Www.w3.org/2001/xmlschema-okazo">
<Kolumnoj>
<Kolumno Nomo="GafTrainingInvoiceNumber" />
<Kolumno Nomo="GafTrainingInvoiceLocation" />
<Kolumno Nomo="WorkId"/>
<Kolumno Nomo="Senhonta"/>
<Kolumno Nomo="Titolo"/>
<Kolumno Nomo="Aŭtoro"/>
<Kolumno Nomo="Grandeco"/>
<Kolumno Nomo="Vojo"/>
<Kolumno Nomo="Priskribo"/>
<Kolumno Nomo="Skribi"/>
<Kolumno Nomo="SiteName"/>
<Kolumno Nomo="CollapsingStatus"/>
<Kolumno Nomo="HitHighlightedSummary"/>
<Kolumno Nomo="HitHighlightedProperties"/>
<Kolumno Nomo="ContentClass"/>
<Kolumno Nomo="IsDocument"/>
<Kolumno Nomo="PictureThumbnailURL"/>
</Kolumnoj>
</Radiko>
La XLST kiu montras la fakturan nombron kaj fakturan lokon estis:
<P>
Trejnanta Fakturan Nombron: <Xsl:Valoro-de Elektita="GafTrainingInvoiceNumber"/>
<Br></Br>
Trejnanta Fakturan Lokon: <Xsl:Valoro-de Elektita="GafTrainingInvoiceLocation"/>
</P>
Tamen, La elektita devas referenci la nemoveblaĵon en ĉiuj pli malalta kazo, Kiel je:
<P>
Trejnanta Fakturan Nombron: <Xsl:Valoro-de Elektita="Gaftraininginvoicenumber"/>
<Br></Br>
Trejnanta Fakturan Lokon: <Xsl:Valoro-de Elektita="Gaftraininginvoicelocation"/>
</P>
Ĝis mi ĝustigis tion, Serĉaj rezultoj montris la etikedojn (T.e. "Trejnanta Fakturan Nombron") Sed neniu datumo.
Komerca Scenaro:
Entrepreno-#lar?a efektivigo de MUSKO por fabrikanta firmaon kun 30+ Ejoj kaj iu dekduo kompaniaj departementoj.
Komerca Objektivo:
#Malgra? homamaso de komercaj grupoj (Departementoj, Lokoj, Ktp), Certa datumo devus esti #da?rigi #?e tutmonda nivelo. Ekzemple, #A?toritata mastra listo de #?iuj fizikaj lokoj de la firmao (Ekz. Fabrikanta servojn, Staplaj lokoj, Vendaj oficejoj) Devus esti #da?rigi en centra loko.
Teknika Problemo:
La entreprena taksonomio estis efektivigita uzanta multoblajn ejajn kolektojn. Ni estus #?ati krei la #a?toritata liston de fizikaj lokoj en #la?menda WSSa listo. Tiam, Kiam ni devis havi kolumnon en kontenta tipo (#A? kolumno aldonis liston #a? doc biblioteko) Kiu enhavis kompaniajn lokojn, Ni kreus kolumnon uzanta la "lookup" datatype kaj punkto al #?i tiu mastra listo.
#Beda?rinde, Lookup datatypes devas aliri fontan liston "loke" Signifanta ke nia #a?toritata listo ne povas #da?ri ejajn kolektojn.
Teknika Solvo:
Efektivigi novan #la?menda datuman tipon efektivigis bazita sur SPField kaj reprezentita kiel DropDownList en la UI kies ListItems #lo?i de la mastra WSSa listo.
Ni kreis novan ejan kolekton vokis "http://localhost/EnterpriseData". Tie, Ni kreis #la?menda liston nomis "Kompaniajn Lokojn". #Tio ?i enlistigas nur uzas la norman "Titolon" Kapti enhavi la liston de realaj kompaniaj lokoj.
Unu sekvas pluraj discrete #pa?o krei #la?menda datumon entajpas WSS. Ili estas:
#?I tie estas la kodo por tio:
Publika Klaso XYZZYCorporateLocationField : SPFieldText
{
Publika XYZZYCorporateLocationField
(SPFieldCollection Kampoj, Ŝnuro TypeName, Ŝnuro DisplayName)
: Bazo(Kampoj, TypeName, DisplayName) { }
Publika XYZZYCorporateLocationField
(SPFieldCollection Kampoj, Ŝnuro DisplayName)
: Bazo(Kampoj, DisplayName) { }
Publika Superregi BaseFieldControl FieldRenderingControl
{
Akiri
{
BaseFieldControl Kontrolo = Nova XYZZYCorporateLocationFieldControl();
Kontrolo.FieldName = Tio ĉi.InternalName;
Reveno Kontrolo;
} //Akiri
} // Fieldrenderingcontrol
Publika Superregi Ŝnuro GetValidatedString(Objekto Valoro)
{
Se (Tio ĉi.Postulita || Valoro.ToString().Egaluloj(#?Nuro.Senhoma))
{
Ĵeti Nova SPFieldValidationException ("Departemento ne estas asignita.");
}
Reveno Bazo.GetValidatedString(Valoro);
} // Getvalidatedstring
} // XYZZYCorporateLocation
Publika Klaso XYZZYCorporateLocationFieldControl : BaseFieldControl
{
Protektita DropDownList XYZZYCorporateLocationSelector;
Protektita Superregi Ŝnuro DefaultTemplateName
{
Akiri
{
Reveno "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName
Publika Superregi Objekto Valoro
{
Akiri
{
EnsureChildControls();
Reveno Tio ĉi.XYZZYCorporateLocationSelector.SelectedValue;
} // Akiri
Fiksita
{
EnsureChildControls();
Tio ĉi.XYZZYCorporateLocationSelector.SelectedValue = (Ŝnuro)Tio ĉi.ItemFieldValue;
} // Fiksita
} // Superregi objektan Valoron
Protektita Superregi Malplena CreateChildControls()
{
Se (Tio ĉi.Kampo == Null || Tio ĉi.ControlMode == SPControlMode.#Montri?o)
Reveno;
Bazo.CreateChildControls();
Tio ĉi.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer.FindControl("XYZZYCorporateLocationSelector");
Se (Tio ĉi.XYZZYCorporateLocationSelector == Null)
Ĵeti Nova Escepto("ERARO: Ne povas ŝarĝi .ASCXa dosiero!");
Se (!Tio ĉi.#Pa?o.IsPostBack)
{
Uzanta (SPSite Ejo = Nova SPSite("Http://Localhost/enterprisedata"))
{
Uzanta (SPWeb Araneaĵa = ejo.OpenWeb())
{
SPList CurrentList = araneaĵo.Listoj["Kompaniaj Lokoj"];
Foreach (SPItem XYZZYCorporateLocation Je CurrentList.Eroj)
{
Se (XYZZYCorporateLocation["Titolo"] == Null) #Da?ri;
Ŝnuro TheTitle;
TheTitle = XYZZYCorporateLocation["Titolo"].ToString();
Tio ĉi.XYZZYCorporateLocationSelector.Eroj.Aldonas
(Nova ListItem(TheTitle, TheTitle));
} // Foreach
} // Uzanta spweb araneaĵa = ejo.Openweb()
} // Uzanta spsite ejo = nova spsite("Http://Localhost/enterprisedata")
} // Se ne postback
} // CreateChildControls
} // XYZZYCorporateLocationFieldControl
La supra kodo resume efektivigas la logikon por #lo?i la DropDownList kun valoroj de la WSS #la?menda listo #trovi?i #?e http://localhost/enterprisedata Kaj nomis "Kompaniajn Departementojn".
Mi difinis #amba? klasojn en ununura .Cs dosiero, Kompilis ?in kaj metita ?in en la GAC (Forta postulata, Nature).
<%@ Kontrolo Lingvo="C#" Heredas="Microsoft.SharePoint.Portalo.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portalo,Versio=12.0.0.0,Kulturo=#ne?trala,PublicKeyToken=71e9bce111e9429c" CompilationMode="#?Iam" %>
<%@ Registro Tagprefix="Wssawc" Namespace="Microsoft.SharePoint.WebControls" Asembleo="Microsoft.SharePoint, Versio=12.0.0.0, Kulturo=neŭtrala, PublicKeyToken=71e9bce111e9429c" %> <%@ Registro Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Asembleo="Microsoft.SharePoint, Versio=12.0.0.0, Kulturo=neŭtrala, PublicKeyToken=71e9bce111e9429c" %>
<SharePoint:RenderingTemplate IDENTIGAĴO="XYZZYCorporateLocationFieldControl" Runat="Servilo">
<Ŝablono>
<Aspido:DropDownList IDENTIGAĴO="XYZZYCorporateLocationSelector" Runat="Servilo" />
</Ŝablono>
</SharePoint:RenderingTemplate>
La sur estas savita en c:\Programo registrasoftajn dosierojnmicrosoft dividitaretservilajn etendaĵojn12controltemplates.
<?Xml Versio="1.0" Kodanta="Utf-8" ?>
<FieldTypes>
<FieldType>
<Kampo Nomo="TypeName">CorporateLocations</Kampo>
<Kampo Nomo="ParentType">Teksto</Kampo>
<Kampo Nomo="TypeDisplayName">Kompaniaj Lokoj</Kampo>
<Kampo Nomo="TypeShortDescription">Ĉiuj XYZZY Kompaniaj lokoj inkluzivanta fabrikadon aŭ aliaj servoj.</Kampo>
<Kampo Nomo="UserCreatable">VERA</Kampo>
<Kampo Nomo="ShowInListCreate">VERA</Kampo>
<Kampo Nomo="ShowInDocumentLibraryCreate">VERA</Kampo>
<Kampo Nomo="ShowInSurveyCreate">VERA</Kampo>
<Kampo Nomo="ShowInColumnTemplateCreate">VERA</Kampo>
<Kampo Nomo="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Versio=1.0.0.0, Kulturo=neŭtrala, PublicKeyToken=b0b19e85410990c4</Kampo>
<RenderPattern Nomo="DisplayPattern">
<Ŝaltilo>
<Expr>
<Kolumno />
</Expr>
<Kazo Valoro=""/>
<Defaŭlta>
<HTML>
<![CDATA[<Daŭri dum stilan="koloron:Ruĝa"><B>]]>
</HTML>
<Kolumno SubColumnNumber="0" HTMLEncode="VERA"/>
<HTML><![CDATA[</B></Daŭri dum>]]></HTML>
</Defaŭlta>
</Ŝaltilo>
</RenderPattern>
</FieldType>
</FieldTypes>
Ĉi tiu XMLa dosiero aldonas la laŭmendan datuman tipon al la WSSa "biblioteko" Kaj egalas ĝin supre kontraŭ la GAC'd asembleo.
Post kiam movanta ĉiuj ĉi tiuj pecoj en loko, Iisreset sur la servilo kaj ĝi devus ĉiujn komencas laboranta agrable.
Suplementa kategorio: CAML
Ĉi tie Estas granda afiŝo de samrangulo nomis "craig" Sur tekniko por trovanta CAMLajn difinojn por kampa enhavo tajpas bazita de veraj vivaj difinoj de ejo.
Lia poŝtanta diras ĝin ĉiuj. En raporto:
Suplementaj kategorioj: Vida Studio 2005
Ebligi utilan intellisense por Ĉefaĵoj, Elementoj, Ktp. en vida studio 2005:
Intellisense estas nun ebligita por tiu XMLa dokumento.
Vidi Ĉi tie Por pli da informo sur #?i tiu temo kaj por instruoj sur kiel al #a?tomate asociita WSS intellisense kun ajna XMLa dosiero.
Mi prenis kaj pasis la sur menciita elprovi ĉi tiun matenon. Mi trovis la ekzamenon esti malfacila kaj foiro.
Estas relativa manko de informo sur ĉi tiu ekzameno sur la araneaĵo. Mi ne estas certe kial.
Mi evidente ne akiros en ajna detalo pri la ekzameno mi prenis, Sed mi pensas min sekure povas diri la sekvantaron:
Ĝi enlistigas kion vi devas scii pasi la ekzamenon kaj ĝin estas, IMO, Tre preciza.
</Fino>Aboni al mia blogo!
Suplementa kategorio: InfoPath
Resuma: InfoPath 2007 Formi deplojiĝita al MUSKA servilo provizas falon-malsupren enlistigi de vendistoj ligita al laŭmenda MUSKA listo. Al elektanta vendiston, Reguloj asignas kampajn valorojn al iometo de tekstaj kampoj kiel venda deputito nomo, Adreso, Urbo, Stato, zipo kaj telefono. Elfaro estas horora. Ni rimarkas ke elfaro akiras pli malbonan (En ne-linia modo) Por ĉiu suplementa kampo ni ĝisdatigas ĉi tiun vojon. T.e., Se ni nur ĝisdatigas la vendan deputitan nomon, Ĝi prenas [X] Kvanto de tempo. Se ni ĝisdatigas vendan deputiton, Address1, Address2, Urbo, Stato, Zipo, Ĝi prenas 10 Oble pli longa.
Solvo: Skribi araneaĵan servon (Ekzempla kodo povas esti trovita Ĉi tie) Kiu estas pasita en la nomo de vendisto kaj ĝi revenas reen la vendistajn detalojn. Tiam, Asigni la kampojn ĉi tiu vojo. Kvankam tio ĉi ankaŭ ŝajnas malrapida, Estis ne discernable diferenco en elfaro kiam ni asignis 1 Kampo kontraŭ 8 Kampoj. Kiel plia gratifiko, Uzantoj akiras freŝan "kontaktanta la servilon" Cylon Realigi dum ili atendas por la formo alvoki kaj konsumi la servajn rezultojn.
ĜISDATIGO: Ni neniam determinis la radikan aferon de ĉi tiu problemo kaj ĝi neniam supriĝi denove.
Ni rimarkas dum efektivigo de evoluada ejo ke subite, Du uzantoj estas nekapablaj aliri ejan kolekton. Tiuj kontoj povas aŭtentikigi al la ĉefa ejo, Sed kiam provanta aliri apartan ejan kolekton, Ili nur akiras malplenan ekranon. Neniuj eraroj montris, Nur blanka malplena #pa?o.
Ni ensalutas kiel eja kolekto admin kaj provo aldoni unu el tiuj uzantoj kiel ejo admin kaj #?i tiu tempo, Al premanta "OK", Ni akiras #?i tiu #mesa?o:
Escepto okazis. (Escepto de HRESULT: 0X80020009 (DISP_E_ESCEPTO))
Ni elspezis iun tempon esploranta #tio ?i kaj #beda?rinde, Didn?? Venita supre kun io ajn utila. Estis kelkaj #mesa?o en la diagnoza #?tipo, Sed ?i estis malfacile al #?uste correlate ili kun #?i tiu afero.
En la fino, Ni foriganta la ejan kolekton kaj re-kreita ?in kaj ke solvis ?in.
Se mi elkalkulas kion kaŭzis tion ĉi en estonteco, Mi ĝisdatigos ĉi tiun poŝton.