วันศุกร์ที่ 2 ตุลาคม พ.ศ. 2552

Generic of

เทียบง่ายๆ ลักษณะของ คำถาม คำตอบ จะเป็น 1 to many คือ หนึงคำถามมีได้มากกว่า หนึ่งคำตอบ ถ้าเราจะเปลี่ยนจากลักษณะของการทำงานแบบ DataSet มาเป็น List แล้วจะต้องทำแบบนี้ 

public class Question
{
public string Topic {get ; set; }
public string CreatedBy { get; set;}
public List Answer {get; set;}
}

public class Answer
{
public string Detail{get; set;}
public string AnswerBy {get; set;} }

// เวลาใช้ก็แบบนี้
Question q = new Question(); 
q.Answer.Add(new Answer()); 

// การเข้าถึง List ข้างในก็

foreach foreach(Answer a in q.Answer) 
{ string jj = a.Detail; } 

[ฮิ_ฮิ]


ทำไม่ Tag T ไม่ขึ้นฟระ

วันจันทร์ที่ 21 กันยายน พ.ศ. 2552

ว้าว JQuery

ตื่นตัวช้าไปหน่อยสำหรับ libary ของตัว JQuery พอได้ไปอ่านบทความต่างๆที่ http://www.jquery.com/ ต้องบอกว่ามันน่าสนใจมากๆ เนื่องจากมี method ง่ายๆให้ใช้งานเยอะแยะ ที่สำคัญคือ cross browser และ มันเอาไปใช้กับ SharePoint ได้ดีทีเดียว ( ลองเอา fisheye ไปใช้แล้ว ok เลย ) น่าจะมาช่วย SharePoint ที่ไม่ support toolkits ของ Ajax วิธีใช้ก็ง่ายมั่กๆ ไป download file .Js ที่ http://www.jquery.com/ ( jqueryxxxx.js) จากนั้นก็ Src ธรรมดาภายใต้ tag head เสร็จแล้ว ( ^0^ ) แล้วจะเขียนอะไรก็เขียนเลย เป็นลักษณะ javascript กับ css เป็นหลัก นอกจากนี้ยังสามารถไปโหลด plugin ต่างๆ มาใช้งานได้อีกด้วย ซึ่งมันก็เหมือนๆ กับ toolkits ของ ajax น่ะแหล่ะ ยัง ยังไม่พอ Visual Studio 2008 ยังแสดง intellisense ได้อีกตะหาก โดยการ เพิ่มไฟล์ ที่ชื่อเดียวกับ jqueryxxxx.js แต่มี -doc เข้าไปใน tag head ด้วย ( วางไว้ที่เดียวกัน ) เยี่ยม !!!!

OWA + SharePoint Webpart

Moss2007 + OWA2003 มีปัญหาในกรณีเขียน WP ไป ติดต่อ Inbox , Contact , Task , bla bla แล้วอยู่หน้าเดียวกันไม่ได้ วิธีแก้ ให้ใช้ Iframe ชี้ไปที่ OWA URL แทน แล้วตามด้วย command แบบนี้ string mailcontent = "/tasks?cmd=contents&part=1"; string loginname = SPContext.Current.Web.CurrentUser.LoginName; string account = loginname.Remove(0, loginname.IndexOf("\\") + 1); string mail = account + "@owa.com"; string URL = @"http://mail.owa.com/exchange/" + mail + mailcontent; // ConfigurationManager.AppSettings["ExchangeServerUrl"]; this.frame.Attributes.Add("src", URL); หรืออีกวิธีก็คือ ไปสร้าง Aspx มาแต่ละ box แล้วใช้ wp PageViewer ชี้ไปแต่ละ page ( จริงๆ มันก็ IFrame แหล่ะนะ - -a ) อีกวิธีนึง แบบ new instance OWATasksPart wptask = new OWATasksPart(); wptask.Title = "My Task"; string workmail = SPContext.Current.Web.CurrentUser.Email; string mailcontent = "/cmd=contents&module=tasks"; wptask.MailboxName = workmail; wptask.OWAServerAddressRoot = @"http://mail.owa.com/exchange" + workmail + mailcontent; // ConfigurationManager.AppSettings["ExchangeServerUrl"]; wptask.Height = "500"; wptask.Width = "400"; Controls.Add(wptask); base.CreateChildControls(); คิดว่าถ้าเป็น owa 2007 น่าจะ smooth ( มั้ง ) ไม่มีให้ลองซะงั้น -"-