ביזנעס סינעריאָו:
ענטערפּרייז-ברייט ימפּלאַמענטיישאַן פון מאָך פֿאַר מאַנופאַקטורינג פירמע מיט 30+ זייטלעך און אַ ביסל טוץ פֿירמע דיפּאַרטמאַנץ.
ביזנעס אָביעקטיוו:
טראָץ אַ פאלק פון געשעפט גרופּעס (דיפּאַרטמאַנץ, לאָוקיישאַנז, אאז"ו ו), זיכער דאַטן זאָל זייַן מיינטיינד אין אַ גלאבאלע מדרגה. לעמאָשל, אַ אַטאָראַטייטיוו בעל רשימה פון אַלע גשמיות לאָוקיישאַנז פון דער פירמע (e.g. מאַנופאַקטורינג פאַסילאַטיז, ווערכאַוס לאָוקיישאַנז, פארקויפונג אָפאַסיז) זאָל זייַן מיינטיינד אין אַ הויפט אָרט.
טעכניש פּראָבלעם:
די ענטערפּרייז טאקסאנאמיע איז ימפּלאַמענאַד ניצן קייפל פּלאַץ זאמלונגען. מיר וואָלט האָבן לייקט צו מאַכן די אַטאָראַטייטיוו רשימה פון גשמיות לאָוקיישאַנז אין אַ מנהג ווסס רשימה. דעמאָלט, ווען מיר דארף צו האָבן אַ זייַל אין אַ צופרידן טיפּ (אָדער אַ זייַל צוגעגעבן צו אַ רשימה אָדער שולדבאַנק ביבליאָטעק) אַז קאַנטיינד פֿירמע לאָוקיישאַנז, we would create a column using the "lookup" מאלטיזיש און פונט צו דעם בעל רשימה.
צומ באַדויערן, lookup datatypes must access a source list "locally" טייַטש אַז אונדזער אַטאָראַטייטיוו רשימה קענען נישט שפּאַן פּלאַץ זאמלונגען.
טעכניש סאַלושאַן:
ינסטרומענט אַ נייַ מנהג דאַטן טיפּ ימפּלאַמענאַד באזירט אויף ספּפיעלד און רעפּריזענטיד ווי אַ דראָפּדאָוונליסט אין די וי וועמענס ליסטיטעמס באַפעלקערן פון דעם בעל ווסס רשימה.
מיר באשאפן אַ נייַ פּלאַץ זאַמלונג גערופן "http://localhost/EnterpriseData". דאָרט, we created a custom list named "Corporate Locations". This list just uses the standard "Title" פעלד צו אַנטהאַלטן די רשימה פון פאַקטיש פֿירמע לאָוקיישאַנז.
איינער גייט עטלעכע דיסקרעטע טריט צו שאַפֿן אַ מנהג דאַטן טיפּ אין ווסס. זיי זענען:
- דעפינירן אַ סאָרט וואָס ינכעראַץ פון ספּפיעלד (איינער קען ירשענען פון אנדערע פעלדער אויב פארלאנגט).
דאָ איז די קאָד פֿאַר וואָס:
עפנטלעך קלאַס קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלד : ספּפיעלדטעקסט
{
עפנטלעך קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלד
(ספּפיעלדקאָללעקטיאָן פעלדער, שטריקל typeName, שטריקל displayName)
: באַזע(פעלדער, typeName, displayName) { }
עפנטלעך קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלד
(ספּפיעלדקאָללעקטיאָן פעלדער, שטריקל displayName)
: באַזע(פעלדער, displayName) { }
עפנטלעך אָווועררייד באַסעפיעלדקאָנטראָל FieldRenderingControl
{
באַקומען
{
באַסעפיעלדקאָנטראָל control = נייַ קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלדקאָנטראָל();
control.FieldName = דעם.ינערלעך נאָמען;
צוריקקומען control;
} //באַקומען
} // fieldrenderingcontrol
עפנטלעך אָווועררייד שטריקל געטוואַלידאַטעדסטרינג(כייפעץ ווערט)
{
צי (דעם.Required || value.ToString().יקוואַלז(שטריקל.ליידיק))
{
וואַרפן נייַ ספּפיעלדוואַלידאַטיאָנעקססעפּטיאָן ("Department is not assigned.");
}
צוריקקומען באַזע.געטוואַלידאַטעדסטרינג(ווערט);
} // getvalidatedstring
} // קסיזזיקאָרפּאָראַטעלאָקאַטיאָן
- דעפינירן אן אנדער סאָרט אַז ינכעראַץ פון די באַזע פעלד קאָנטראָל, ווי אין:
עפנטלעך קלאַס קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלדקאָנטראָל : באַסעפיעלדקאָנטראָל
{
פּראָטעקטעד דראָפּדאָוונליסט XYZZYCorporateLocationSelector;
פּראָטעקטעד אָווועררייד שטריקל DefaultTemplateName
{
באַקומען
{
צוריקקומען "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName
עפנטלעך אָווועררייד כייפעץ ווערט
{
באַקומען
{
EnsureChildControls();
צוריקקומען דעם.קסיזזיקאָרפּאָראַטעלאָקאַטיאָנסעלעקטאָר.סעלעקטעדוואַלוע;
} // באַקומען
שטעלן
{
EnsureChildControls();
דעם.XYZZYCorporateLocationSelector.SelectedValue = (שטריקל)דעם.יטעמפיעלדוואַלוע;
} // שטעלן
} // override object Value
פּראָטעקטעד אָווועררייד פּאָסל קרעאַטעטשילדקאָנטראָלס()
{
צי (דעם.Field == נול || דעם.ControlMode == ספּקאָנטראָלמאָדע.אַרויסווייַזן)
צוריקקומען;
באַזע.קרעאַטעטשילדקאָנטראָלס();
דעם.XYZZYCorporateLocationSelector =
(דראָפּדאָוונליסט)טעמפּלאַטעקאָנטאַינער.פינדקאָנטראָל("XYZZYCorporateLocationSelector");
צי (דעם.XYZZYCorporateLocationSelector == נול)
וואַרפן נייַ ויסנעם("ERROR: Cannot load .ASCX file!");
צי (!דעם.פּאַגע.יספּאָסטבאַקק)
{
ניצן (ספּסיטע site = נייַ ספּסיטע("http://לאָקאַלהאָסט / ענטערפּריסעדאַטאַ"))
{
ניצן (ספּוועב web = site.OpenWeb())
{
ספּליסט currentList = web.Lists["Corporate Locations"];
פאָרעאַטש (שפּייַען קסיזזיקאָרפּאָראַטעלאָקאַטיאָן אין currentList.Items)
{
צי (קסיזזיקאָרפּאָראַטעלאָקאַטיאָן["Title"] == נול) פאָרזעצן;
שטריקל טהעטיטלע;
theTitle = XYZZYCorporateLocation["Title"].טאָסטרינג();
דעם.XYZZYCorporateLocationSelector.Items.Add
(נייַ ליסטיטעם(טהעטיטלע, טהעטיטלע));
} // פאָרעאַטש
} // using spweb web = site.openweb()
} // using spsite site = new spsite("http://localhost/enterprisedata")
} // if not a postback
} // קרעאַטעטשילדקאָנטראָלס
} // קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלדקאָנטראָל
די אויבן קאָד בייסיקלי ימפּלאַמאַנץ די לאָגיק פֿאַר פּאַפּיאַלייטינג די דראָפּדאָוונליסט מיט וואַלועס פון די ווסס מנהג רשימה ליגן בייַ http://localhost/enterprisedata and named "Corporate Departments".
איך דיפיינד ביידע קלאסן אין אַ איין. קס טעקע, צונויפגעשטעלט עס און לייגן עס אין די גאַק (שטאַרק פארלאנגט, אַוואַדע).
-
ינסטרומענט אַ קאָנטראָל מוסטער (.אַסקקס) ווי געוויזן:
<%@ קאָנטראָל שפּראַך="C#" ינכעראַץ="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,ווערסיע = 12.0.0.0, קולטור = נייטראַל,פּובליקקייטאָקען = 71ע9בסע111ע9429ק" קאָמפּילאַטיאָנמאָדע="Always" %>
<%@ רעגיסטרירן טאַגפּרעפיקס="wssawc" נאָמענטייל="Microsoft.SharePoint.WebControls" פאַרזאַמלונג="Microsoft.SharePoint, ווערסיע = 12.0.0.0, קולטור = נייטראַל, פּובליקקייטאָקען = 71ע9בסע111ע9429ק" %> <%@ רעגיסטרירן טאַגפּרעפיקס="SharePoint" נאָמענטייל="Microsoft.SharePoint.WebControls" פאַרזאַמלונג="Microsoft.SharePoint, ווערסיע = 12.0.0.0, קולטור = נייטראַל, פּובליקקייטאָקען = 71ע9בסע111ע9429ק" %>
<שאַרעפּאָינט:רענדערינג מוסטער שייַן="XYZZYCorporateLocationFieldControl" runat="server">
<מוסטער>
<אַספּ:דראָפּדאָוונליסט שייַן="XYZZYCorporateLocationSelector" runat="server" />
</מוסטער>
</שאַרעפּאָינט:רענדערינג מוסטער>
די אויבן איז געראטעוועט אין C:\פּראָגראַם טעקעס פּראָסט טעקעס מייקראָסאָפֿט שערד וועב סערווער יקסטענשאַנז 12 קאָנטראָלטעמפּלאַטעס.
- לעסאָף, מיר מאַכן אַ קסמל טעקע צו ראַטעווען אין די ..... 12 קסמל Directory. דאס איז קאַמל אַז דיפיינז אונדזער מנהג דאַטן טיפּ און פֿאַר מיין בייַשפּיל, קוקט ווי דעם:
<?קסמל ווערסיע="1.0" סיסטעם="UTF-8" ?>
<פיעלדטיפּעס>
<פיעלדטיפּע>
<פעלד נאָמען="טיפּענאַמע">קאָרפּאָראַטעלאָקאַטיאָנס</פעלד>
<פעלד נאָמען="פּאַרענטטיפּע">טעקסט</פעלד>
<פעלד נאָמען="טיפּעדיספּלייַנאַמע">Corporate Locations</פעלד>
<פעלד נאָמען="טיפּעשאָרטדעסקריפּטיאָן">All XYZZY Corporate locations including manufacturing or other facilities.</פעלד>
<פעלד נאָמען="וסערקרעאַטאַבלע">אמת</פעלד>
<פעלד נאָמען="שאָווינליסטקרעאַטע">אמת</פעלד>
<פעלד נאָמען="שאָווינדאָקומענטליבראַריקרעאַטע">אמת</פעלד>
<פעלד נאָמען="שאָווינסורווייקרעאַטע">אמת</פעלד>
<פעלד נאָמען="שאָווינקאָלומנטעמפּלאַטעקרעאַטע">אמת</פעלד>
<פעלד נאָמען="פיעלדטיפּעקלאַסס">קאָנטשאַנגאָ.קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלד, קסיזזיקאָרפּאָראַטעלאָקאַטיאָנפיעלד, ווערסיע = 1.0.0.0, קולטור = נייטראַל, PublicKeyToken=b0b19e85410990c4</פעלד>
<רענדערפּאַטטערן נאָמען="דיספּלייַפּאַטטערן">
<יבערבייַט>
<עקספּר>
<זייַל />
</עקספּר>
<פאַל ווערט=""/>
<ניט ויסצאָלן>
<HTML>
<![קדאַטאַ[<span style="color:Red"><ב>]]>
</HTML>
<זייַל סובקאָלומננומבער="0" הטמלענקאָדע="אמת"/>
<HTML><![קדאַטאַ[</ב></שפּאַן>]]></HTML>
</ניט ויסצאָלן>
</יבערבייַט>
</רענדערפּאַטטערן>
</פיעלדטיפּע>
</פיעלדטיפּעס>
This XML file adds the custom data type to the WSS "library" און שוועבעלעך עס אַרויף קעגן די גאַק'ד פֿאַרזאַמלונג.
נאָך מאָווינג אַלע די ביטן אין אָרט, ייסרעסעט אויף דעם סערווער און עס זאָל אַלע אָנהייבן ארבעטן נייסלי.
ניצן סיסטעמ.וועב.וי;
ניצן סיסטעמ.וועב.וי.וועבקאָנטראָלס;
I am attempting to implement your solution. However I instead of DropDownList, I only have the option for a DropDownChoiceList. Do you happen to know how to add items to a DropDownChoiceList? מיר זענען ניצן שאַרעפּאָינט 2007 ספּ1 און וויסואַל סטודיאָ 2005 ספּ1.