วันอาทิตย์ที่ 16 กรกฎาคม พ.ศ. 2560

การกำหนดหัวคอลัมน์ของ Datagridview

คุยกันก่อนครับ  สำหรับใครที่เคยเขียนโปรแกรมแล้วมีปัญหาหรืออยากกำหนดหัวข้อคอลัมน์ของ Datagridview ที่แสดงให้เป็นแบบที่ได้ดั่งใจ คำว่าได้ดั่งใจก็คือ ขนาดของตัวอักษร ชื่อคอลัมน์ ก็เพราะว่าในการใช้งาน Datagridview นั้นหากไม่ได้มีการกำหนดคุณสมบัติของคอลัมน์แล้วมันจะแสดงข้อมูลออกมาพร้อมกับหัวคอลัมน์แบบดิบๆ ครับ


แบบนี้ครับคือมันจะเอาหัวของคอลัมน์ที่เป็นชื่อของฟิลด์ที่เรากำหนดไว้ในฐานข้อมูลมาแสดงทุกฟิลด์ที่แสดงเลยครับ

        Dim sqlQuery As String
        Dim adapter As New OleDb.OleDbDataAdapter
        Dim ds As DataSet = New DataSet
        sqlQuery = "SELECT * FROM Tb_pay order by pay_id asc"
        adapter.SelectCommand = New OleDb.OleDbCommand(sqlQuery, con)
        adapter.Fill(ds)
        DataGridView1.DataSource = ds.Tables(0)

โค้ดด้านบนนั้นเป็นการเลือกข้อมูลทั้งหมดทุกฟิลด์ของตาราง Tb_pay ออกมาครับด้วยโค้ดที่ไม่ได้เขียนเพื่อกำหนดคุณสมบัติของคอลัมน์ระบบก็เลยแสดงออกมาอย่างข้างบน  ด้วยเหตุนี้เองครับก็เลยมีการเขียนโค้ดเพื่อกำหนดให้แสดงคอลัมน์ตามที่เราต้องการได้โดยการเพิ่มโค้ดบางส่วนเข้าไปในโปรแกรมอีกทีครับ

        DataGridView1.Columns.Item(0).HeaderText() = "รหัสรายจ่าย"
        DataGridView1.Columns.Item(1).HeaderText() = "รายจ่าย"
        DataGridView1.Font = New Font("Verdana", 10)
        DataGridView1.Columns(0).Width = 100
        DataGridView1.Columns(1).Width = 300

อธิบายตั้งแต่บรรทัดแรกก็คือ
คำอธิบายคอลัมน์
        DataGridView1.Columns.Item(0).HeaderText() = "รหัสรายจ่าย"
        DataGridView1.Columns.Item(1).HeaderText() = "รายจ่าย"
ส่วนนี้หมายถึงการกำหนดให้หัวคอลัมน์แรกให้แสดงคำว่า รหัสรายจ่าย และคอลัมน์ที่สองว่า รายจ่ายครับ สังเกตุดีๆนะครับตรง .Item(0) คือคอลัมน์แรกนะครับ เราจะไม่เขียนว่า .Item(1) นะครับ
การกำหนดฟอร์น
        DataGridView1.Font = New Font("Verdana", 10)
ส่วนด้านนนนี้เป็นการกำหนดเรื่องฟอร์นของ Datagrid นะครับ คือให้มีรูปแบบเป็น Verdana และมีขนาดเป็น 10 ครับ
ความกว้างของคอลัมน์
        DataGridView1.Columns(0).Width = 100
        DataGridView1.Columns(1).Width = 300
ส่วนต่อมาคือการกำหนดขนาดความกว้างของคอลัมน์ครับ ในที่นี้กำหนด คอลัมน์แรกเป็น 100 และ คอลัมน์ที่สองกว้างกว่าหน่อยครับเป็น 300 ครับ


นอกจากนี้เรายังกำหนดรายละเอียดอื่นๆได้อีกนะครับ เช่น การกำหนดรูปแบบตัวเลข
         DataGridView1.Columns(2).DefaultCellStyle.Format = "N2"
กำหนดแบบนี้มันจะทำให้คอลัมน์เป็นตัวเลขที่มีคอมม่าครับ ลองเอาไปปรับๆใช้น่าจะได้ประโยชน์ครับ

3 ความคิดเห็น:

  1. เพื่อคนเข้ามาขออนุญาติเพิ่มเติมความกว้างของแถวนะครับ
    For i = 0 To DataGridView1.RowCount - 1
    DataGridView1.Rows(i).Height = 50
    Next

    ตอบลบ
    คำตอบ
    1. ผมสามารถเอาข้อมุลที่แสดงใน DataGridView ไปบันทึกในอีกฐานข้อมมูลได้มั้ยครับ

      ลบ

โปรแกรมตั้งเวลา เข้าแถว เปิดเสียงหมดเวลา หมดคาบเรียน หรือชั่วโมงเรียน

สวัสดีครับในรอบ 2 ปี ผมหายไปตั้งแต่ปี 2560 ไม่ได้มาเขียน Blog เลย วันนี้กลับมา พร้อมกับโปรแกรมตัวนึงที่เขียนขึ้นเพื่อใช้งาน เล่านิดนึงครับ ผ...