Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > เงื่อนไขแสดงรูปใน Datagrid View (แสดงรูปตามเงื่อนไข)



 

เงื่อนไขแสดงรูปใน Datagrid View (แสดงรูปตามเงื่อนไข)

 



Topic : 065821

Guest




สอบถามครับ คือ ผมได้ดึงข้อมูลมาแสดงในดาต้ากริด และใส่รูปภาพเข้าในกริดด้วย แต่ยังติดปัญหาเรื่องใส่เงื่อนไข โดยมีเงือนไขในคอลัมน์ Status เช่น ถ้า Status = Normal ในคอลัมน์ รูปภาพ ก็จะให้แสดงรูปที่ชื่อ imgNormal (ดึงมาจาก Resource)
หรือ Status = Fast ก็จะแสดงรูป imgFast ในคอลัมน์รูปภาพ

ไม่รู้จะเริ่มต้นยังไงดีครับ นึกภาพไม่ออก

เพราะตอนแสดงข้อมูลในกริด ก็ใช้คำสั่ง ก็ยังสับสนว่าจะทำอย่างไร

Code (VB.NET)
 If dr.HasRows Then
                dt = New DataTable()
                dt.Load(dr)
                dgvData.DataSource = dt

                'Display image by Resource
                Dim cbcImage As DataGridViewImageColumn
                cbcImage = New DataGridViewImageColumn
                With cbcImage
                    .Name = "ColImage"
                    .HeaderText = "รูปภาพ"
                    .Image = My.Resources.Resource.imgNormal 'imgNormal คือ ชื่อไฟล์รูปที่อยู่ใน Resorce
                    .Width = 55
                    .DisplayIndex = 7
                End With
                dgvData.Columns.Add(cbcImage)
            Else
                dgvData.DataSource = Nothing
            End If


VB

Code (VB.NET)
 Private Sub fnShowAdvise()
        Dim strConn As String
        strConn = DBConnstring.strConn
        Conn = New SqlConnection()

        With Conn
            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open()
        End With

        Dim sqlStr As String
        sqlStr = "SELECT tblAdvise.AID,tblAdvise.DateIn,tblAdvise.IAID,tblAdvise.Status,tblAdvise.Approve,tblAdvise.CodeID,"
        sqlStr &= " tblItemAdvise.IAID,tblItemAdvise.Fullname"
        sqlStr &= " FROM tblAdvise,tblItemAdvise"
        sqlStr &= " WHERE (tblAdvise.IAID = tblItemAdvise.IAID)"
        sqlStr &= " AND tblAdvise.CodeID='" & tmpCodeID & "'"
        sqlStr &= " ORDER By tblAdvise.AID DESC"

        Dim dr As SqlDataReader
        Dim dt As DataTable
        com = New SqlCommand()
        With com
            .CommandType = CommandType.Text
            .CommandText = sqlStr
            .Connection = Conn
            dr = .ExecuteReader()

            If dr.HasRows Then
                dt = New DataTable()
                dt.Load(dr)
                dgvData.DataSource = dt

                'Display image by Resource
                Dim cbcImage As DataGridViewImageColumn
                cbcImage = New DataGridViewImageColumn
                With cbcImage
                    .Name = "ColImage"
                    .HeaderText = "รูปภาพ"
                    .Image = My.Resources.Resource.imgNormal 'imgNormal คือ ชื่อไฟล์รูปที่อยู่ใน Resorce
                    .Width = 55
                    .DisplayIndex = 7
                End With
                dgvData.Columns.Add(cbcImage)
            Else
                dgvData.DataSource = Nothing
            End If
        End With

        Conn.Close()
        fnFormatDataGridView()
    End Sub




Tag : .NET, Ms SQL Server 2005, VBScript, Win (Windows App), VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-02 15:56:38 By : ณิชกุล View : 3734 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

กระทู้นี้ครับ : DataGridView ต้องการเพิ่มสีใน Cell ที่มีค่ามากกว่าที่กำหนด Win App C#






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-05 15:04:10 By : webmaster
 


 

No. 2

Guest


ขอบคุณครับ สำหรับแนวทาง

กว่าจะใส่รูปตามเงื่อนไขได้ โดยผมเขียนตามวิธีด้านช่างครับ

หมายเหตุ dgvdata คือ DatagridVIew name

Code (VB.NET)
Private Sub fnColm()
        Dim imColumn As DataGridViewImageColumn = New DataGridViewImageColumn()
        imColumn.Name = "StatusIcon"
        'ตั้งชื่อ Column เป็น Status
        imColumn.HeaderText = "สถานะ"
        'ใส่ป้ายชื่อ Column เป็น สถานะ
        'กำหนดให้มันอยู่ตรงกลาง
        imColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
        imColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

        'เพิ่ม Column ใหม่ต่อท้าย {dgvdata.ColumnCount = เป็น Index ของ Column ที่เราจะเพิ่มเข้าไปใหม่}
        dgvData.Columns.Insert(dgvData.ColumnCount, imColumn)
        setImagetoColumn()
    End Sub

    Private Sub setImagetoColumn()
        Dim strConn As String
        strConn = DBConnstring.strConn
        Conn = New SqlConnection()

        With Conn
            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open()
        End With

        Dim sql As String
        sql = "SELECT Status FROM tblAdvise "

        Dim da = New SqlDataAdapter(sql, Conn)
        Dim ds = New DataSet()
        da.Fill(ds, "Advise")

        Dim imgNormal As Image
        imgNormal = My.Resources.resHelp.imgNormal

        Dim imgFast As Image
        imgFast = My.Resources.resHelp.imgFast

        Dim imgFastest As Image
        imgFastest = My.Resources.resHelp.imgFastest

        If ds.Tables(0).Rows.Count > 0 Then
            Dim i As Integer
            For i = 0 To ds.Tables(0).Rows.Count - 1
                If CStr(dgvData.Rows(i).Cells("Status").Value) = "Normal" Then
                    dgvData.Rows(i).Cells("StatusIcon").Value = imgNormal
                    dgvData.Rows(i).Cells("StatusIcon").ToolTipText = "สถานะปรกติ"
                ElseIf CStr(dgvData.Rows(i).Cells("Status").Value) = "Fast" Then
                    dgvData.Rows(i).Cells("StatusIcon").Value = imgFast
                    dgvData.Rows(i).Cells("StatusIcon").ToolTipText = "สถานะเร่งด่วน"
                ElseIf CStr(dgvData.Rows(i).Cells("Status").Value) = "Fastest" Then
                    dgvData.Rows(i).Cells("StatusIcon").Value = imgFastest
                    dgvData.Rows(i).Cells("StatusIcon").ToolTipText = "สถานะเร่งด่วนที่สุด"
                End If
            Next
        End If
        Conn.Close()
    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-07 10:52:47 By : ณิชกุล
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เงื่อนไขแสดงรูปใน Datagrid View (แสดงรูปตามเงื่อนไข)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่