วิธีการใช้ Control SharePoint MultipleLookupField
: คู่มือทีละขั้นตอน
เมื่อทำงานกับ SharePoint คุณอาจพบสถานการณ์ที่คุณต้องการเชื่อมโยงไอเท็มหลายรายการจากรายการหนึ่งเข้ากับไอเท็มในอีกรายการหนึ่ง Control ที่มีประโยชน์สำหรับการทำเช่นนี้คือ MultipleLookupField
ในโพสต์นี้ เราจะพาคุณผ่านการใช้งาน Control MultipleLookupField
ทีละขั้นตอน เพื่อให้แน่ใจว่าคุณเข้าใจวิธีการแสดงและจัดการค่าอ้างอิงหลายค่าในเว็บพาร์ทของคุณ
ปัญหา: การเชื่อมโยงสองรายการ
ความท้าทายหลักคือการรวม Control MultipleLookupField
เข้ากับหน้าเว็บที่ทำงานในบริบทของ SharePoint คุณอาจต้องการเชื่อมโยงจำนวนรายการใน SharePoint เช่น งานและเอกสาร นี่ต้องการการตั้งค่าพื้นฐานบางอย่างรวมถึงการเข้าใจวิธีการจัดการ Control อย่างมีประสิทธิภาพ
การเริ่มต้นใช้งาน MultipleLookupField
ขั้นตอนที่ 1: สร้างสภาพแวดล้อม SharePoint ของคุณ
- ตั้งค่า Team Site: เริ่มต้นโดยการสร้าง Team site ใหม่ภายใน SharePoint
- เพิ่มงาน: ไปที่รายการงานและสร้างงานบางรายการ
- สร้างเอกสาร: อัปโหลดเอกสารไปยังห้องสมุดเอกสารที่แชร์
- สร้างคอลัมน์ Lookup:
- ในห้องสมุดเอกสารที่แชร์ ให้สร้างคอลัมน์ใหม่ที่ชื่อว่า “Related”
- ตั้งค่าคอลัมน์นี้ให้เป็นฟิลด์ Lookup ที่อ้างอิงฟิลด์ “Title” ของรายการงาน
- ตรวจสอบให้แน่ใจว่าอนุญาตค่าหลายค่าสำหรับคอลัมน์นี้
ขั้นตอนที่ 2: สร้างเว็บพาร์ท
เพื่อเริ่มใช้งาน MultipleLookupField
คุณต้องสร้างเว็บพาร์ท นี่คือตัวอย่างที่เรียบง่ายเพื่อช่วยคุณในกระบวนการนี้
โครงสร้างพื้นฐานของเว็บพาร์ทของคุณ
Label l;
MultipleLookupField mlf;
protected override void CreateChildControls()
{
base.CreateChildControls();
SPList list = SPContext.Current.Web.Lists["Shared Documents"];
if (list != null && list.Items.Count > 0)
{
LiteralControl lit = new LiteralControl("Associate tasks to " + list.Items[0].Name);
this.Controls.Add(lit);
mlf = new MultipleLookupField();
mlf.ControlMode = SPControlMode.Edit;
mlf.FieldName = "Related";
mlf.ItemId = list.Items[0].ID;
mlf.ListId = list.ID;
mlf.ID = "Related";
this.Controls.Add(mlf);
Button b = new Button();
b.Text = "Change";
b.Click += new EventHandler(bClick);
this.Controls.Add(b);
l = new Label();
this.Controls.Add(l);
}
}
void bClick(object sender, EventArgs e)
{
l.Text = "";
foreach (SPFieldLookupValue val in (SPFieldLookupValueCollection)mlf.Value)
{
l.Text += val.LookupValue.ToString() + " ";
}
SPListItem listitem = mlf.List.Items[0];
listitem["Related"] = mlf.Value;
listitem.Update();
mlf.Value = listitem["Related"];
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
EnsureChildControls();
}
ขั้นตอนที่ 3: การปรับใช้เว็บพาร์ทของคุณ
- สร้างและปรับใช้: คอมไพล์โค้ดของคุณและปรับใช้เว็บพาร์ทไปยังสภาพแวดล้อม SharePoint ของคุณ
- เพิ่มเว็บพาร์ทบนเว็บไซต์ของคุณ: ไปที่หน้าแรกของ Team site ของคุณและเพิ่มเว็บพาร์ทใหม่
การทำความเข้าใจ Handler คลิก
Handler อีเวนต์คลิก bClick
สำคัญต่อการอัปเดต UI
- ดึงค่า: เริ่มต้นโดยการดึงค่าที่เลือกทั้งหมดจาก
MultipleLookupField
และแสดงผล - อัปเดตไอเท็มในรายการ: อัปเดตฟิลด์ “Related” ในรายการเอกสารด้วยงานที่เลือก โดยทำให้แน่ใจว่ามีการซิงค์ระหว่าง UI และไอเท็มในรายการ
หมายเหตุเพิ่มเติม
- ตัวอย่างที่ให้ไว้ยังค่อนข้างพื้นฐาน: ควรทราบว่าขาดการจัดการข้อผิดพลาดที่ครบถ้วนและไม่เหมาะสำหรับการใช้งานในระบบการผลิต ควรพัฒนาต่อไปเพื่อให้การใช้งานได้ดียิ่งขึ้น
- คุณอาจพบว่าหากคุณคอมเมนต์บรรทัด
mlf.Value = listitem["Related"];
อย่างถูกต้อง UI อาจไม่ซิงค์กับข้อมูลที่อยู่เบื้องหลัง ดังนั้นบรรทัดนี้จึงจำเป็นต่อการทำงานที่ถูกต้อง
สรุป
โดยการทำตามขั้นตอนที่ outlined ข้างต้น คุณสามารถรวม Control MultipleLookupField
เข้ากับเว็บไซต์ SharePoint ของคุณได้สำเร็จ ช่วยให้การจัดการไอเท็มที่เกี่ยวข้องจากรายการต่าง ๆ มีประสิทธิภาพมากขึ้น ปรับปรุงประสบการณ์การใช้งาน SharePoint ของคุณโดยรวม ด้วยการฝึกฝนและปรับปรุง คุณสามารถเปลี่ยนหลักการพื้นฐานเหล่านี้ให้เป็นโซลูชันที่ทรงพลังซึ่งปรับให้เข้ากับความต้องการเฉพาะของคุณ
อย่าลังเลที่จะติดต่อหากคุณมีคำถามหรือแบ่งปันประสบการณ์ของคุณในการใช้ Control MultipleLookupField
ใน SharePoint!