การใช้งาน DateTimePicker กับ Date ใน C#


หน้าแรก ASP net MS SQL การใช้งาน DateTimePicker กับ Date ใน C#

เกริ่นนำ

การให้ค่ากับ DateTime Picker ในภาษา C# เป็นเรื่องที่จำเป็นอย่างมากที่เราควรจะรู้ในการให้ค่า และใช้งาน DateTime Picker เพราะ Window Application Form ส่วนใหญ่ที่เราสร้างขึ้นจะต้องได้ใช้แน่นอน และมันก็เป็นเรื่องง่ายๆ แต่ผมก็มักจะไม่ได้จำถ้าไม่ได้ใช้งานบ่อยๆ 

๑. การให้ค่า DateTime Picker เป็น DateTime Now
เริ่มจากง่ายๆ เลยครับ การให้ค่าเป็นวันเดือนปีปัจจุบันตามนี้



dateTimePicker1.Value = DateTime.Now;



๒. การให้ค่า DateTime Picker แบบตรงๆเลย 



dateTimePicker1.Value = new DateTime(2009, 7, 27); //ปี เดือน วัน


หรืออาจจะ Add ค่าเพิ่มหรือลด วันที่ ได้ดังนี้


dateTimePicker1.Value = dateTimePicker1.Value.AddDays(7);
//การลดค่า
dateTimePicker1.Value = dateTimePicker1.Value.AddDays(-7);




๓. การกำหนด Limiting DateTime Picker 
คือการให้ค่าสูงสุดหรือต่ำสุด สำหรับ DateTime Picker


datePicker.MinDate = new DateTime(2009, 1, 1); //ปี เดือน วัน
datePicker.MaxDate = new DateTime(2009, 12, 31); //ปี เดือน วัน
//หรือ
datePicker.MinDate = datePicker.Value.AddDays(-7);
datePicker.MaxDate = datePicker.Value.AddDays(7);




๓. การประยุกต์ใช้งานกับ select between ใน linq 
ในการใช้ค่าของ DateTime Picker ในการ Select ข้อมูลจาก Linq ผมได้ประยุกต์ใช้งานดังโค้ดนี้




        public frmCashFlow()
{
InitializeComponent();
string d1 = DateTime.Now.ToShortDateString();
string d2 = DateTime.Now.ToShortDateString();
d1 = d1 +
" 0:00:00";
d2 = d2 +
" 23:59:59";
dateTimePicker1.Value = DateTime.Parse(d1);
dateTimePicker2.Value = DateTime.Parse(d2);
DateTime date1 = dateTimePicker1.Value;
DateTime date2 = dateTimePicker2.Value;
var cashflows = from cashflow
in db.Select()
where cashflow.Dat >= date1 && cashflow.Dat < date2
orderby cashflow.Uniqnum
select cashflow;
bindingSource1.DataSource = cashflows;
}









จะเห็นว่าใน Linq จะไม่มี Select Between แต่เราสามารถประยุกต์ได้ด้วยการใช้ >= และ < แทน และมีการกำหนดเวลา Default ให้กับ DateTime Picker ด้วย

สรุป
ก็ได้แต่คาดหวังว่าบทความนี้จะมีประโยชน์บ้างสำหรับผู้ผ่านมาเจอนะครั


ขึ้นไปด้านบน