Copyright © 2003-2009
By Suthep Sangvirotjanaphat
  Mobile: 089-967-2200, 081-915-7816
Phone: 0-2992-4877   Fax: 0-2992-4878
Fast Contact Us

GreatFriends.Biz Community

Custom Search
 MESSAGE #103430 (อ่าน 1,289 ครั้ง)

สร้างตารางด้วย dataGridView ที่มีเส้นสีแดงทึบคั่น ในทุกๆ 7 คอล์มน์ ได้อย่างไร

Tags: Windows, C#, .NET 3.0, OOAD/UML, VS 2005, Article
ผมอยากจะสร้างตารางการทำงานของพยาบาลใน 1 เดือน ซึ่งจะต้องมีเส้นสีแดงทึบคั่นในทุกๆ 7 วัน หรือคั่นในทุกๆ 7 คอลัมน์ กล่าวคือ เมื่อถึงคอลัมน์ของวันอาทิตย์ ก็จะมีเส้นสีแดงคั่นที่ด้านขวาของคอลัมน์วันอาทิตย์นั้น ผมสามารถทำได้อย่างไรบ้างครับ ผมพัฒนาโปรแกรมด้วย C#.NET 2005 ครับ


chanon วันที่ส่ง: 2 เม.ย. 52 12:26 GMT+7
วันที่ปรับล่าสุด: 3 เม.ย. 52 10:59 GMT+7
REPLY #1 (103446)

ต้องถามว่า เป็น Windows หรือ Web Application ครับ

 
และอีกประเด็นคือ ตัว DataTable ที่คุณ เอา มา Binding เข้ากับ Grid นั้น คุณ Generate ขึ้นมาด้วย Coding แล้วค่อย ๆ เอาค่า มาหยอดใช่หรือไม่ครับ
 
ถ้าใช่ล่ะก็
ตอนที่เกิด Row_Create
คุณอาจจะต้องใช้คำสั่ง
 

protected void GridView1_RowDataBound(Object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) {

 
    e.Row.Cells[คอลั่มที่เป็นแถวที่คุณต้องการให้ใส่สีแดง โดยที่คุณจะต้องคำนวณเอาเองว่าเป็น Cell ไหน].BackColor = Drawing.Color.Red
 
}
 


nuttanun4u วันที่ส่ง: 2 เม.ย. 52 15:32 GMT+7
วันที่ปรับล่าสุด: 2 เม.ย. 52 15:32 GMT+7
REPLY #2 (103461)
ขอบคุณ คุณ nuttanun4u นะครับ โปรแกรมของผมเป็น Windows Application ครับ แล้วก็ผมใช้ dataGridView มาค่อยๆ หยอดข้อมูลเองที่ละ cell ด้วย code อย่างที่คุณว่าครับ แต่ผมลองใช้คำสั่งอย่างที่คุณว่าแล้ว ปรากฎว่า column นั้นทั้ง column มันถูกระบายสีด้วยสีแดงหมดเลยอะครับ ซึ่งสิ่งที่ผมต้องการคือ ให้มีเพียงเส้นขอบด้านขวาของ column เท่านั้นครับที่เป็นสีแดง | Friday | Saturday | Sunday | Monday | Tuesday | ... --> แถวนี้คือ header ครับ | | | | | | | | | | | | --> 3 แถวนี้ เป็น data ครับ | | | | | | ^ | | เส้นนี้เท่านั้นครับ ที่ต้องการให้เป็นสีแดง foreground, background ยังคงเป็นสีเดิมครับ


chanon วันที่ส่ง: 2 เม.ย. 52 17:05 GMT+7
วันที่ปรับล่าสุด: 2 เม.ย. 52 17:05 GMT+7
REPLY #3 (103463)
ขออนุญาตโพสต์อีกทีนะครับ เมื่อกี๊อ่านไม่รู้เรื่องเลย โปรแกรมของผมเป็น Windows Application ครับ แล้วก็ผมใช้ dataGridView มาค่อยๆ หยอดข้อมูลเองที่ละ cell ด้วย code อย่างที่คุณว่าครับ แต่ผมลองใช้คำสั่งอย่างที่คุณว่าแล้ว ปรากฎว่า column นั้นทั้ง column มันถูกระบายสีด้วยสีแดงหมดเลยอะครับ ซึ่งสิ่งที่ผมต้องการคือ ให้มีเพียงเส้นขอบด้านขวาของ column เท่านั้นครับที่เป็นสีแดง
ส่วน foreground, background ยังคงเป็นสีเดิมอะครับ ทำเส้นสีแดงเหมือนกับเวลาเราตีเส้นคั่นหน้าสมุดอะครับ ส่วน gridline ที่คั่นวันอื่นๆ ที่ไม่ใช่วันอาทิตย์ก็คงเป็นสีดำเหมือนเดิมครับ


chanon วันที่ส่ง: 2 เม.ย. 52 17:09 GMT+7
วันที่ปรับล่าสุด: 2 เม.ย. 52 17:09 GMT+7
REPLY #4 (103477)
จะทำขอบเส้นด้านใดด้านหนึ่งเป็นสี เพื่อแยกสัปดาห์ตามที่ต้องการนั้น ก็คงทำได้
แต่จะง่ายกว่าไหมครับ ถ้าใช้วิธีการกำหนดสี background สลับกันในแต่ละสัปดาห์
เช่น ใช้สี ขาว กับ เทาอ่อนๆ น่ะครับ


surrealist วันที่ส่ง: 2 เม.ย. 52 20:31 GMT+7
วันที่ปรับล่าสุด: 2 เม.ย. 52 20:31 GMT+7
REPLY #5 (103487)
ผมว่าวิธีการของ อ.สุเทพ ก็ดีนะครับ ผมเห็นดีครับ แต่ว่า ไม่รู้ว่าตรงตามความต้องการของ จขกท. หรือเปล่าครับ


nuttanun4u วันที่ส่ง: 3 เม.ย. 52 00:03 GMT+7
วันที่ปรับล่าสุด: 3 เม.ย. 52 00:03 GMT+7
REPLY #6 (103510)
ขอบคุณมากครับ สำหรับคำแนะนำ ผมว่าการทำสีสลับกันก็เป็นความคิดที่ดีทีเดียว

่ส่วนเรื่องการทำเส้นคั่นสีแดง ผมสามารถทำได้แล้วครับ โดยการเขียนคำสั่งตอนที่เกิด CellPainting และใช้ Graphics เป็นตัววาดเส้นครับ

ผมว่าผมจะทำสีสลับกันในแต่ละสัปดาห์อย่างที่ อ.สุเทพ แนะนำด้วยครับ ตารางคงจะดูดีทีเดียว


chanon วันที่ส่ง: 3 เม.ย. 52 10:59 GMT+7
วันที่ปรับล่าสุด: 3 เม.ย. 52 10:59 GMT+7
กระทู้นี้มีอายุเกิน 365 วันแล้ว ท่านจะไม่สามารถตอบกระทู้นี้ได้อีก
ถ้าต้องการสนทนาต่อ กรุณาตั้งเป็นกระทู้ใหม่ได้ในหน้าโฮม
และอาจจะอ้างถึงกระทู้นี้ โดยก๊อปปี้ข้อความในกล่องสีขาวด้านล่างไปแปะในกระทู้ใหม่

copy เพื่ออ้างอิงถึงข้อความนี้:
สร้างตารางด้วย dataGridView ที่มีเส้นสีแดงทึบคั่น ในทุกๆ 7 คอล์มน์ ได้อย่างไร
http://greatfriends.biz?103430


10 ก.ย. 10:09
Online: 210