วิธีการใช้ Control SharePoint MultipleLookupField: คู่มือทีละขั้นตอน

เมื่อทำงานกับ SharePoint คุณอาจพบสถานการณ์ที่คุณต้องการเชื่อมโยงไอเท็มหลายรายการจากรายการหนึ่งเข้ากับไอเท็มในอีกรายการหนึ่ง Control ที่มีประโยชน์สำหรับการทำเช่นนี้คือ MultipleLookupField ในโพสต์นี้ เราจะพาคุณผ่านการใช้งาน Control MultipleLookupField ทีละขั้นตอน เพื่อให้แน่ใจว่าคุณเข้าใจวิธีการแสดงและจัดการค่าอ้างอิงหลายค่าในเว็บพาร์ทของคุณ

ปัญหา: การเชื่อมโยงสองรายการ

ความท้าทายหลักคือการรวม Control MultipleLookupField เข้ากับหน้าเว็บที่ทำงานในบริบทของ SharePoint คุณอาจต้องการเชื่อมโยงจำนวนรายการใน SharePoint เช่น งานและเอกสาร นี่ต้องการการตั้งค่าพื้นฐานบางอย่างรวมถึงการเข้าใจวิธีการจัดการ Control อย่างมีประสิทธิภาพ

การเริ่มต้นใช้งาน MultipleLookupField

ขั้นตอนที่ 1: สร้างสภาพแวดล้อม SharePoint ของคุณ

  1. ตั้งค่า Team Site: เริ่มต้นโดยการสร้าง Team site ใหม่ภายใน SharePoint
  2. เพิ่มงาน: ไปที่รายการงานและสร้างงานบางรายการ
  3. สร้างเอกสาร: อัปโหลดเอกสารไปยังห้องสมุดเอกสารที่แชร์
  4. สร้างคอลัมน์ 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: การปรับใช้เว็บพาร์ทของคุณ

  1. สร้างและปรับใช้: คอมไพล์โค้ดของคุณและปรับใช้เว็บพาร์ทไปยังสภาพแวดล้อม SharePoint ของคุณ
  2. เพิ่มเว็บพาร์ทบนเว็บไซต์ของคุณ: ไปที่หน้าแรกของ Team site ของคุณและเพิ่มเว็บพาร์ทใหม่

การทำความเข้าใจ Handler คลิก

Handler อีเวนต์คลิก bClick สำคัญต่อการอัปเดต UI

  • ดึงค่า: เริ่มต้นโดยการดึงค่าที่เลือกทั้งหมดจาก MultipleLookupField และแสดงผล
  • อัปเดตไอเท็มในรายการ: อัปเดตฟิลด์ “Related” ในรายการเอกสารด้วยงานที่เลือก โดยทำให้แน่ใจว่ามีการซิงค์ระหว่าง UI และไอเท็มในรายการ

หมายเหตุเพิ่มเติม

  • ตัวอย่างที่ให้ไว้ยังค่อนข้างพื้นฐาน: ควรทราบว่าขาดการจัดการข้อผิดพลาดที่ครบถ้วนและไม่เหมาะสำหรับการใช้งานในระบบการผลิต ควรพัฒนาต่อไปเพื่อให้การใช้งานได้ดียิ่งขึ้น
  • คุณอาจพบว่าหากคุณคอมเมนต์บรรทัด mlf.Value = listitem["Related"]; อย่างถูกต้อง UI อาจไม่ซิงค์กับข้อมูลที่อยู่เบื้องหลัง ดังนั้นบรรทัดนี้จึงจำเป็นต่อการทำงานที่ถูกต้อง

สรุป

โดยการทำตามขั้นตอนที่ outlined ข้างต้น คุณสามารถรวม Control MultipleLookupField เข้ากับเว็บไซต์ SharePoint ของคุณได้สำเร็จ ช่วยให้การจัดการไอเท็มที่เกี่ยวข้องจากรายการต่าง ๆ มีประสิทธิภาพมากขึ้น ปรับปรุงประสบการณ์การใช้งาน SharePoint ของคุณโดยรวม ด้วยการฝึกฝนและปรับปรุง คุณสามารถเปลี่ยนหลักการพื้นฐานเหล่านี้ให้เป็นโซลูชันที่ทรงพลังซึ่งปรับให้เข้ากับความต้องการเฉพาะของคุณ

อย่าลังเลที่จะติดต่อหากคุณมีคำถามหรือแบ่งปันประสบการณ์ของคุณในการใช้ Control MultipleLookupField ใน SharePoint!