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,027

HOME > .NET Framework > Forum > สอบถามปัญหาเรื่องแปลงค่าจาก Dataset ให้เป็น toolstripmenuItem ครับ



 

สอบถามปัญหาเรื่องแปลงค่าจาก Dataset ให้เป็น toolstripmenuItem ครับ

 



Topic : 123357



โพสกระทู้ ( 117 )
บทความ ( 0 )



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




Code (VB.NET)
Dim Ts As ToolStripMenuItem
            Dim ii As Integer
            For ii = 0 To dx.Tables("xx").Rows.Count - 1
                Ts = CType(dx.Tables("xx").Rows(ii).Item(0), ToolStripItem)
                Ts.Visible = True
Next


จากโค้ด ผมสามารถแปลงค่าจาก dataset ให้เป็น toolstripmenuItem ได้อย่างไรครับ ในบรรทัด

Code (VB.NET)
      Ts = CType(dx.Tables("xx").Rows(ii).Item(0), ToolStripItem)


ถ้าผมลองใส่ค่า ts= ชื่อ menu เลยมันจะใช้งานได้แบบนี้ครับ

Code (VB.NET)
     Ts = ToolStripMenuItem7
     Ts.Visible = True

แต่ถ้าคิวรี่มาจากดาต้าเบสลงดาต้าเซ็ทแล้วจะแปลงมันไม่ได้ครับ รบกวนหน่อยครับ

ขอบคุณครับ



Tag : .NET, Ms SQL Server 2012, VBScript, Win (Windows App), VS 2010 (.NET 4.x), Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-06-15 15:38:01 By : punmontha View : 819 Reply : 4
 

 

No. 1



โพสกระทู้ ( 4,434 )
บทความ ( 23 )



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

Code (VB.NET)
Dim Ts As ToolStripMenuItem
Dim ii As Integer
For ii = 0 To dx.Tables("xx").Rows.Count - 1
Ts = CType(dx.Tables("xx").Rows(ii).Item(0), ToolStripItem)
Ts.Visible = True
Next


จากโค้ดนี้ท้ายสุด

Ts = CType(dx.Tables("xx").Rows(dx.Tables("xx").Rows.Count - 1).Item(0), ToolStripItem)

งั้นอย่า for ให้เมื่อยเลยครับ 5555

ว่าแต่ ToolStripItem นี่เก็บ record data type เป็น อะไรรึครับ

มีตัวอย่างไม๊ครับว่ามันทำได้จริงๆ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 16:02:15 By : lamaka.tor
 


 

No. 2



โพสกระทู้ ( 117 )
บทความ ( 0 )



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


ในโค้ดคือตัวอย่างครับ แล้วที่มาถามคือทำไม่ได้ครับ อยากให้ผู้รู้มาช่วยว่ามันมีแนวทางไหนที่พอจะทำได้บ้าง ถ้าไม่ช่วยก็ไม่น่าจะตอบดีกว่ามั้ยครับ
ผมมาขอความช่วยเหลือครับ ขอคนที่อยากช่วยจริงๆครับ ผมจะขอบคุณมาก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 16:22:30 By : punmontha
 

 

No. 3



โพสกระทู้ ( 4,434 )
บทความ ( 23 )



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

งั้นรื้อใหม่เลยครับ

ไปศึกษาการสร้าง ToolStripMenuItem

แล้วเอา record ที่ได้ มาลงใน text ของ ToolStripMenuItem (ไม่ใช่เอามาเป็น ToolStripMenuItem )

แบบนี้โอกาศรอดเยอะกว่า แถมมีให้ศึกษาเยอะด้วยครับ

https://msdn.microsoft.com/en-us/library/ms229625(v=vs.110).aspx
http://stackoverflow.com/questions/1757574/dynamically-adding-toolstripmenuitems-to-a-menustrip-c-winforms
http://stackoverflow.com/questions/15502532/vb-net-execute-code-on-events-for-dynamically-added-toolstripmenuitem
http://stackoverflow.com/questions/24787126/adding-an-existing-toolstripmenuitem-to-a-contextmenu-dynamically-makes-it-disap
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 16:54:40 By : lamaka.tor
 


 

No. 4



โพสกระทู้ ( 242 )
บทความ ( 0 )



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


เอาไปประยุกต์ดูนะครับ



Code (VB.NET)
'It executes during the Form Load and populates all the menu headers. All data are coming from the Backend and there is nothing to hardcode. I have attached the structure of two tables MENUMASTER and ACCESS below.  

 Private Sub MDIParent1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'On Error GoTo ErrHandler

	'Create a Connection class, that has the full features of working with Backend.
	'See article for Connection class :  # 

        Dim Conn As New Conn1
        Dim mnRd As SqlClient.SqlDataReader


	'It helps in populating the MENUs according to user rights. From the Table "Access"
        iUserAccessMode = GlobalValues.lblUsrAccess.Text


        sQry = ""
        sQry = "Select MenuText from MenuMaster Where MainMenuID = 0" & _
               " And MenuID in (Select MenuID from Access Where AccessId = " & CInt(iUserAccessMode) & ")" & _
                " And isActive = 1"
        mnRd = Conn.ReaderData(sQry)
        
	If mnRd.HasRows Then
            mnMenu = New MenuStrip
            While mnRd.Read
                mnMenu.Items.Add(mnRd(0).ToString, Nothing, New System.EventHandler(AddressOf MainMenu_OnClick))
                Me.Controls.Add(mnMenu)
            End While
        End If
        
	mnRd.Close()

    End Sub


'This function creates child menus, when the parent menu was created.
 
    Private Sub MainMenu_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim cms As New ContextMenuStrip()
        Dim sMenu() As String
        Dim Conn As New Conn1
        Dim sMenuRD As SqlClient.SqlDataReader

        sQry = ""
        sQry = "Select MenuID from MenuMaster Where MenuText = '" & sender.ToString & "'"
        sMenuRD = Conn.ReaderData(sQry)

        Dim parentMenuID As Integer
        If sMenuRD.HasRows Then
            sMenuRD.Read()
            parentMenuID = sMenuRD("MenuID")
        End If
        sMenuRD.Close()

        sQry = ""
        sQry = "Select MenuText from MenuMaster Where MainMenuID = '" & parentMenuID & "'" & _
               " And isActive = 1" & _
               " And MenuID in (Select MenuID from Access Where AccessId = " & CInt(iUserAccessMode) & ")" & _
               " Order BY MenuOrder"
        sMenuRD = Conn.ReaderData(sQry)

        ReDim Preserve sMenu(0)
        Dim i As Integer
        If sMenuRD.HasRows Then
            ReDim Preserve sMenu(0)
            i = 0
            While sMenuRD.Read()
                ReDim Preserve sMenu(i)
                sMenu(i) = sMenuRD("MenuText")
                i = i + 1

            End While
        End If
        sMenuRD.Close()

        For Each sMn As String In sMenu
            cms.Items.Add(sMn, Nothing, New System.EventHandler(AddressOf SelectedChildMenu_OnClick))
        Next

        Dim tsi As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
        tsi.DropDown = cms
    End Sub


    'This Function is executed at the click event of each menu items, the form to open(FormName) on the execution 
    'of the event is also comes from the backend table "MENUMASTER" 

    Private Sub SelectedChildMenu_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim Conn As New Conn1
        Dim sMenuRD As SqlClient.SqlDataReader
        Dim frmName As String = ""
        Dim frm As New Form

        sQry = ""
        sQry = "Select FormName from MenuMaster Where MenuText = '" & sender.ToString & "'"
        sMenuRD = Conn.ReaderData(sQry)

        If sMenuRD.HasRows Then
            sMenuRD.Read()
            frmName = sMenuRD(0).ToString
            DynamicallyLoadedObject(frmName).Show(Me)
        Else
            MsgBox("Under Construction", MsgBoxStyle.Exclamation, "Technical Error")
        End If
        sMenuRD.Close()

    End Sub

    'Importance : High
    'This function helps in converting the string object formName, which is returned from sql into object of type Form

    Private Function DynamicallyLoadedObject(ByVal objectName As String, Optional ByVal args() As Object = Nothing) As Form

        Dim returnObj As Object = Nothing
        Dim Type As Type = Assembly.GetExecutingAssembly().GetType("[YOUR PROJECT NAME]." & objectName)

        If Type IsNot Nothing Then
            returnObj = Activator.CreateInstance(Type, args)
        End If

        Return returnObj
    End Function


ที่มา
http://www.codeproject.com/Articles/19223/Dynamic-Creation-Of-MenuStrip-VB-NET
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-16 02:37:04 By : bigsuntat
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหาเรื่องแปลงค่าจาก Dataset ให้เป็น toolstripmenuItem ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
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 อัตราราคา คลิกที่นี่