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 > C# WinApp SR ในโค้ด ต้อง Add ref ตัวไหนครับ



 

C# WinApp SR ในโค้ด ต้อง Add ref ตัวไหนครับ

 



Topic : 125544



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



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



จาก
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/ComboBox.cs,e83c7b91eda8635a

พอผมก๊อบโค๊ดมาลง ก็ Error แบบนี้ครับ

Err

ไม่ทราบว่าต้อง Add reference ตัวไหนถึงจะหายครับ



Tag : .NET, Win (Windows App), C#, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-11-28 17:26:56 By : lamaka.tor View : 1358 Reply : 30
 

 

No. 1

Guest


จากลิงค์ที่คุณเอามาลง มันทำให้ผมเห็น
--- ความสวยงามของภาษา C#
------ มันสวยและสง่างามจริงฯ (มิน่าล่ะ Delphi/etc/etc... ได้รับความนิยมลดน้อยลงไป)

จากลิงค์ที่คุณเอามาลง คุณคลิ๊กไปคลิ๊กมา ผมคิดว่าคุณน่าจะพบคำตอบด้วยตัวเอง
--- นี่คือความสง่างามของตัวเราเอง


ปล. ผมมีเหตุผลมากมายทำไมผมถึงใช้ VB.NET แทนที่่ผมจะเลือก C# เป็นอันดับแรก






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-28 22:17:13 By : หน้าฮี
 


 

No. 2

Guest


อันนี้คือตัวอย่าง เล็กฯน้อย ในโปรแกรมจริงฯที่ผมทำ
--- ไม่มี txtXXX.Text = "xxx"
--- ไม่มี txtXXX.Text = "" ' String.Empty

Code (VB.NET)
    Public Shared Sub clearSTDTextBoxText(ByVal f As Form)
        GetAllControl(f, GetType(System.Windows.Forms.TextBox)).ToList().ForEach(Sub(c As TextBox)
                                                                                                       If c.Text.EndsWith(".00") Then 'คาดคะเนว่าเป็นตัวเลข 1,234.00 เป็นต้น
                                                                                                           c.Text = "0.00"
                                                                                                       Else
                                                                                                           c.Text = String.Empty 'คาดคะเนว่าเป็นข้อความ
                                                                                                       End If
                                                                                                   End Sub)
    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-28 22:35:46 By : หน้าฮี
 

 

No. 3

Guest


คุณลองดูลิ้งค์นี้
Code
https://msdn.microsoft.com/en-us/library/system.windows.forms.control.bindingcontext(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2


ผมเห็นอะไรบ้าง? และคุณคิดว่ามันมีประโยชน์สำหรับคุณหรือไม่?
--- สูงสุดคืนสู่สามัญ (ผมพูดได้เต็มปากเต็มคำว่านี่คือตัวของผมเอง)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-28 22:44:41 By : หน้าฮี
 


 

No. 4



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



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

สงสัยจะเร็วไปสำหรับผมในเริ่องของ control

นั่งทำมา 2 วันแล้วยังไม่มีอะไรคืบหน้าเลย 5555

ตอบความคิดเห็นที่ : 3 เขียนโดย : หน้าฮี เมื่อวันที่ 2016-11-28 22:44:41
รายละเอียดของการตอบ ::
ท่าทางผมจะมองไม่เห็นละท่าน

เรื่องมันมีอยู่ว่าผมอยากทำ textbox ที่มี
1. button(ตัวนี้ทำได้แล้ว)
2. datagrid popup(ตัวนี้ทำได้แล้ว) แบบประมาณว่ากดปุ่มก็มี datagrid popup ให้เลือกเหมือนกับ combobox ได้
3. อยากให้มี "DataSource", "DisplayMember", "ValueMember", "SelectedValue" เหมือนกับ combobox

สรุป คือ หน้าตาเป็น textbox มี "DataSource", "DisplayMember", "ValueMember", "SelectedValue" เหมือนกับ combobox
โดยกดปุ่มเพื่อเลือกจาก datagrid เลย ส่วน datagrid popup ผมทำเป็น usercontrol ต่อไปอาจจะเพิ่ม ช่อง textbox เพื่อการค้นหา ครับ
คร่าวๆก็ประมาณนี้ครับ

ธหห

ปกติผมใช้ combobox ในการเลือกอยู่แล้วครับ ไม่ค่อยใช้แบบที่ กดปุ่มแล้วไปฟอร์มโน่น นี่ นั่น แต่เพิ่งมาตระหนักว่า ถ้ารายชื่อ สารเคมี 5000 กว่า ๆ นี่ User คงเลื่อนเพื่อเลือกบานไปเลย
ก็เลยคิดว่าน่าจะ ลองทำ textbox ที่มีคุณสมบัติคล้ายๆ combobox มาให้ user ใช้งานดูมั่งครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 09:21:30 By : lamaka.tor
 


 

No. 5

Guest


คุณดูสไตล์การเขียนโค๊ดของผม
(ผมคิดอยู่ในใจ ผมเห็น Source code ของคนอื่นผมอยากจะโยนทิ้งให้หมดเลย แต่มันก็ทำไม่ได้หรอก ทำใจยอมรับมันให้ได้)

xsampleCode

Code (VB.NET)
Public Class TestTextInput

    Protected Actions As String = "E" 'A=เพิ่ม, E=แก้ไขข้อมูล เป็นต้น
    Dim lstData As IList

    Private Sub TestTextInput_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Call InitialDataSet()
        Call InitialComboBox()
        Call InitialDataGridView()
        Call DisplayData(lstData)
    End Sub

    Private Sub InitialDataSet()
        'Demo Data
        lstData = {New With {.FirstName = "ชื่อ A", .LastName = "นามสกุล A", .Salary = 2000},
                   New With {.FirstName = "ชื่อ B", .LastName = "นามสกุล B", .Salary = 3000}
                   }.ToList()
    End Sub

    Private Sub InitialComboBox()
        'TODO
    End Sub

    Private Sub InitialDataGridView()
        'TODO
    End Sub

    Private Sub DisplayData(ByVal curRecord As IList)
        Dim txtBoxs = GetAllTextBox(Me).ToList()
        If Actions = "E" Then 'แก้ไขข้อมูล
            Try
                Dim yObject = curRecord(1) 'สมมุติให้เป็น ระเบียนที่ 2            
                Dim columns() As System.Reflection.PropertyInfo = yObject.GetType().GetProperties()
                If txtBoxs IsNot Nothing Then
                    txtBoxs.ForEach(Sub(x)
                                        Dim txtName = If(x.Name.Length > 3, x.Name.Substring(3), x.Name)
                                        Dim mapingName = columns.FirstOrDefault(Function(a) a.Name = txtName)
                                        If mapingName IsNot Nothing Then
                                            If x.GetType().ToString() = "WL_Controls.usrCtrlTextBox" Then
                                                Dim txt = DirectCast(x, WL_Controls.usrCtrlTextBox)
                                                txt.DataBindings.Add("Text", yObject, mapingName.Name)
                                                If txt.DisplayManager = WL_Controls.usrCtrlTextBox.TextBoxDisplayManager.TextNumber Then
                                                    txt.Text = txt.FormatValue(CDbl(txt.Text)) 'ถ้าเป็นจำนวนเงินให้จัดรูปแบบแสดงผลด้วย
                                                End If
                                            Else
                                                'Standard TextBox
                                                x.DataBindings.Add("Text", yObject, mapingName.Name)
                                            End If
                                        End If
                                    End Sub)
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        Else 'เพิ่มข้อมูล
            'Clear All Text.
            If txtBoxs IsNot Nothing Then
                txtBoxs.ForEach(Sub(x)
                                    If x.GetType().ToString() = "WL_Controls.usrCtrlTextBox" Then
                                        Dim txt = DirectCast(x, WL_Controls.usrCtrlTextBox)
                                        If txt.DisplayManager = WL_Controls.usrCtrlTextBox.TextBoxDisplayManager.TextNumber Then
                                            txt.Text = txt.FormatValue(0.0)
                                        End If
                                    Else
                                        'Standard TextBox
                                        x.Text = String.Empty
                                    End If
                                End Sub)
            End If
        End If
    End Sub

    Private Sub DisplayReports()       
        'TODO
    End Sub

    Private Sub SaveData2RDBMS()
        'TODO
    End Sub

#Region " Utils"

    Private Function GetAllTextBox(ByVal f As Control) As IEnumerable(Of Control)
        Return GetAllControl(f, GetType(System.Windows.Forms.TextBox)).Union(GetAllControl(f, GetType(WL_Controls.usrCtrlTextBox))).ToList()
    End Function

    Private Function GetAllControl(ByVal ctrl As Control, t As Type) As IEnumerable(Of Control)
        Dim _ctrl = ctrl.Controls.Cast(Of Control)()
        Return _ctrl.SelectMany(Function(x) GetAllControl(x, t)).Concat(_ctrl).Where(Function(y) y.GetType() = t)
    End Function

#End Region
End Class

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 10:23:57 By : หน้าฮี
 


 

No. 6

Guest


xsampleCode02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 10:25:01 By : หน้าฮี
 


 

No. 7

Guest


อันนี้คือ ComboBox ของผม และผมจะไม่ลืมใส่บางสิ่งบางอย่างลงไป ของคุณผมไม่รู้ว่าคุณใส่หรือไม่?
--- ผมใส่ชีวิต ผมใส่จิตวิญญาญให้กับมัน
------ แน่นอนว่ามันรองรับทุกฯความต้องการของ Users เป็นหลัก (อำนวยความสะดวก)

xDateControl_01


ปล. ผลลัพธ์ของการดำเนินชีวิตประจำวัน มันไม่ได้ขึ้นอยู่กับความรู้ความสามารถ แต่มันขึ้นอยู่กับ
โชคและวาสนา ยกตัวอย่างเช่น

นาย A ทำงานดี และขยัน แต่เงินได้รับเงินเดือน 10,000.00 บาท
นาย B ทำงานแย่ และขยัน แต่เงินได้รับเงินเดือน 11,000.00 บาท
นาย C วันฯไม่ทำอะไรเลย แต่ได้รับเงินเดือน 20,000.00 บาท

เป็นต้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 12:37:08 By : หน้าฮี
 


 

No. 8

Guest


จาก #NO 7 ผมรับค่าวันย่อ เช่น อา., จ., ... หรือ Su, Mo, Tu, ...

ผมไม่ได้ Array หรือทำเรื่องง่ายให้เป็นเรื่องยากเลย ดังนี้

แน่นอนว่ามันรองรับทุกฯ Culture

Code (VB.NET)
        Dim monthNames As String() = CultureInfo.CreateSpecificCulture(GetENUMDescriptions(_myComboBox.SetCulture)).DateTimeFormat.MonthNames
        'Fills months combobox
        For i As Integer = 0 To 11
            monthList.Rows.Add(monthList.NewRow())
            monthList.Rows(i)(0) = monthNames(i)
            monthList.Rows(i)(1) = i + 1
        Next




ปล. เห็นหรือยังว่าผมเขียน Sourcecode ได้ลื่นไหลดังสายลมพัด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 12:54:10 By : หน้าฮี
 


 

No. 9

Guest


จาก #NO 8 อันนี้เป็นเรื่องของเดือน (ลงผิดไป)
อันนี้เป็นเรื่องของวัน (วันย่อ/Abbreviated)

(สิ่งที่ได้ตามมาก็คือเทคนิคการใช้ Control DataGridView)

Code (VB.NET)
        Dim dayNames As String() = CultureInfo.CreateSpecificCulture(GetENUMDescriptions(Me._myComboBox.SetCulture)).DateTimeFormat.AbbreviatedDayNames 'อ., จ., อ., พ หรือ Su, Mo, ... เป็นต้น
        For i As Integer = 0 To dayNames.Count() - 1
            dgv_Dates.Columns.Add("col" + i.ToString(), If(dayNames(i).Length > 2, dayNames(i).Substring(0, 2), dayNames(i)))
            dgv_Dates.Columns(i).Width = 37
        Next

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 12:59:36 By : หน้าฮี
 


 

No. 10

Guest


Code
The life must be learning all time and not finish. We never know that what will we met when we will have learning. Even though, we perhaps meet good and bad person in the same time. Maybe this situation will be awaked us for continued learning by never ending.



ปล. นิยามโดย หน้าฮี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 13:30:28 By : หน้าฮี
 


 

No. 11



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



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

มีสิ่งที่ผมอยากได้มั่งไม๊ครับ

พอดีอยากได้ครับ

ของเหล่านี้ไม่ค่อยจำเป็นกับคนทั่วไป ผมอยากได้สิ่งที่คนทั่วไปอยากได้มากกว่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 14:12:01 By : lamaka.tor
 


 

No. 12

Guest


ผมชอบเที่ยว ซ่องต่างประเทศ (คำอธิบาย) เหตุผล
--- หน้าได้ไหม?
------ หล่อนบอกว่า ได้
--- หลังได้ไหม?
------ หล่อนบอกว่า ได้
--- เอามือยัดข้างหน้าได้ไหม?
------ หล่อนบอกว่า ได้
--- เอามือยัดข้างหลังได้ไหม?
------ หล่อนบอกว่า ได้
--- เอาสองมือยัดหน้าได้ไหม?
------ หล่อนบอกว่า ได้
--- เอาสองมือยัดข้างหลังได้ไหม?
------ หล่อนบอกว่า ได้

... ผมยกเท้าขึ้นมา
------ หล่อนอุทานด้วยความตกใจว่า "อันนี้หย่า หนูขอร้อง"
------ ผมก็ตกใจและอุทานไปว่า "ขนาดมันก็เท่าฯกัน"
------ +55555
------ ...

ผมชอบเที่ยว ซ่องตูก็รักชาติ (คำอธิบาย) เหตุผล
--- กูยังไม่ทันคิดว่ากูจะทำอะไร?
------ หล่อนบอกว่า "จะทำอะไรก็รีบทำ ประตูรีบปิด"
------ ตูหมดอาลัยตายอยาก...



ปล. นิยามคำว่า ตู = กู (ป้องกันคำไม่สุภาพ)
ป่านนี้อาจารย์ที่เคยสอนวิชา ภาษาไทย สมัยผมเรียนมัธยม คงหัวเราะ คิกคักคิกคัก (ผมได้เกรด 4 ในวิชานี้)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 14:19:09 By : หน้าฮี
 


 

No. 13



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



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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 14:41:21 By : lamaka.tor
 


 

No. 14



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



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

ตอบความคิดเห็นที่ : 13 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-11-29 14:41:21
รายละเอียดของการตอบ ::
ปล. เราจะมอง textbox ในรูปแบบ ListControl ได้ยังไงครับ



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 14:46:12 By : lamaka.tor
 


 

No. 15



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



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

ไม่โลภครับ
ขอแค่ popup ของ datasource แบบนี้ก็ยังดี

555

พอทำได้บ้างไม๊ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-29 14:51:47 By : lamaka.tor
 


 

No. 16

Guest


Code
https://www.codeproject.com/Articles/17502/Simple-Popup-Control

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-30 10:37:42 By : หน้าฮี
 


 

No. 17



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



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

ตอบความคิดเห็นที่ : 16 เขียนโดย : หน้าฮี เมื่อวันที่ 2016-11-30 10:37:42
รายละเอียดของการตอบ ::
คือว่า popup ผมทำได้แล้วครับ

อ้างอิง No. 4


ตอนนี้เหมือนว่าผมจะงง

1. ถ้าเราอ้างอิง TextBoxComplex : ListControl ผมจำภาษา โปรแกรมเมอร์ ไม่ได้ซะด้วยว่าเขาว่าไง 5555
แสดงว่า เราจะได้ TextBoxComplex ที่มี Items ต่างๆมาแต่ มันจะไม่มี list Up down (อันนี้ก็ไม่รู้ว่าเขาเรียกว่าอะไร)
เราจะกำหนด display(ที่จะโชว์) กับ selectvalue(ซ่อนไว้) ยังไงดี

2. เหมือนกับว่าเราเอา DataSource ที่เรายัดเข้าไปออกมาเป็น list แล้วก็เอาเฉพาะ ค่าที่เลือกมาโชว์ แบบนั้นรึป่าว

ความรู้ช่างน้อยซะเหลือเกินเมื่อคนเราเจอสิ่งที่เราทำไม่ได้
แต่เมื่อไหร่ที่ทำได้ก็กลับคิดว่ามันช่างง่ายซะเหลือเกิน เช่นกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-30 11:46:50 By : lamaka.tor
 


 

No. 18



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



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


ถือว่าเล่าสู่กันฟังน่ะครับ
ผมก็ทำได้นิด ๆ หน่อย ๆ
เคยทำแบบตัวค้นหาประมาณนี้น่ะครับ
แต่ไม่ได้ทำยากขนาดนี้

วิธีทำก็ง่าย ๆ มี TextBox มา
แล้วก็กรอกข้อมูลเข้าไป
กด Enter โปรแกรมค้นหารหัสให้
ถ้ามันตรงเป๊ะเลย เจอข้อมูลแค่อันเดียว
ก็เอาอันนั้นมาเลย

แต่ถ้าไม่เจอก็ไปค้นหาโดยใช้ like แล้ว แล้วโชว์มาให้เลือก
สิ่งที่เน้นก็คือ ทุกอย่างใช้ keyboard ไม่เน้นใช้ mouse เพราะมันช้า

ก็ทำได้แค่ประมาณนี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-30 11:54:11 By : fonfire
 


 

No. 19



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



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

ตอบความคิดเห็นที่ : 18 เขียนโดย : fonfire เมื่อวันที่ 2016-11-30 11:54:11
รายละเอียดของการตอบ ::
ของผมจะเป็นแบบว่า user คลิกปุ่ม
จะมี datagrisviewpopup มาให้เลือกครับ
พอ user เลือกแล้วก็จะเก็บเป็น selectvalue ไว้
แล้วเอา DisplayMember ออกมาโชว์

ปล.
อันนี้ผมเห็นว่า combobox มีแล้วสะดวกต่อการเลือกของ User ครับ
แต่ combobox ยังไม่ถือว่าดีที่สุด เพราะเลือกแล้วยังมี up/down มาให้เกะกะอยู่
ผมอยากจะตัดออกไปครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-30 12:29:40 By : lamaka.tor
 


 

No. 20

Guest


@
Code
https://select2.github.io/examples.html


คุณเลื่อนลงไปที่ Loading remote data (ข้อมูลหลักล้านระเบียน)

คุณดู Concept ของมัน (Algorithm ในการประมวลผล)

Code
[coding][
คือว่า popup ผมทำได้แล้วครับ
อ้างอิง No. 4
/coding]

ผมไม่ได้ให้คุณดู Popup Control แต่ผมให้คุณดูอย่างอื่น (คุณดูไม่ละเอียดเอง)
--- หาเอาอยู่ในนั้นแหละ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-30 18:36:36 By : หน้าฮี
 


 

No. 21

Guest


ฝรั่งมันให้มาไม่มีเกิน อะไรที่ขาดเราก็เพิ่มเอง จากรูภาพด้านล่าง

xDemo_x

ผมเอารหัส + คำอธิบายรายการ มารวมกัน เพื่ออำนวยความสะดวกในการค้นหา
--- ค้นรหัสก็ได้
--- ค้นชื่อก็ได้


จริงฯแล้วมันควรจะแยกคอลัมภ์ โดยใช้ GridView ก็ดูดีไปอีกแบบหนึ่ง (ผมไม่มีเวลาทำ)
--- จะทำมันก็ไม่ใช่เรื่องยาก


นี่คือ Concept ComboBox ของผม (ค้นรหัสก็ได้ ค้นคำอธิบายก็ได้) เป็นต้น
และสิ่งที่ขาดไปไม่ได้เลยนั่นคือ คำว่า "ประสิทธิภาพ"


ปล. บางครั้งบางคราวผมก็จนแต้มในการ Design ก็อาศัยเวปโน้นเวปนี้ และประยุกต์ใช้เอา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-30 18:56:36 By : หน้าฮี
 


 

No. 22



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



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

ตอบความคิดเห็นที่ : 20 เขียนโดย : หน้าฮี เมื่อวันที่ 2016-11-30 18:36:36
รายละเอียดของการตอบ ::
ผมก็เอาตัวอย่างนี้แหละครับมายำจนได้ popup ตามที่ผมต้องการ


ตอบความคิดเห็นที่ : 21 เขียนโดย : หน้าฮี เมื่อวันที่ 2016-11-30 18:56:36
รายละเอียดของการตอบ ::
GridView นั่นแหละที่ผมจะทำกว่าผมจะสื่อสารกับพี่ได้นี่เล่นเอาหลายวันเหมือนกันนะนั่น 5555

มีตัวอย่างโค้ดให้แกะบ้างไม๊ครับ
ที่ผมไม่เอา ComboBox มาดัดแปลงตั้งแต่แรกเพราะผมเคยลองทำแล้ว (ตอนนี้ก็ยังมีอยู่แต่จะโละทิ้งแล้วครับ) ไม่ตอบโจทย์ผมครับ
ถ้าเป็น ComboBox เราอาจจะต้องใช้ SQL ใหม่ เสียเวลา create ต่างๆนาๆ อีก
แต่ถ้าเป็น datagridview ตอบโจทยย์ผม เพราะมองได้ไกลกว่ากันเยอะครับ

ปัญหาของเรื่องนี้คือ
ผม เห็นโปรแกรมบางตัวที่มี textbox ให้เลือกกรอก PK
เลยมานั่งคิดๆดู ใครวะจะมานั่งจำ PK ให้เมื่อยสมอง(เอาเวลาไปเล่นไพ่ดีฝ่า)
เลยหาทางให้ User ใช้งานง่าย แบบไม่ต้องมานั่งจำ


พัฒนาการของเรื่องนี้

1. ใช้ binding ใน textbox
2. ใช้ "DataSource", "DisplayMember", "ValueMember", "SelectedValue" ใน combobox
3. ใช้ button กดปุ๊บ มีอีกฟอร์มเด้งมาปั๊บ มี textbox สำหรับค้นหา เลือกปั๊บ binding ใน textbox
4. ใช้ button กดปุ๊บ มีอีกฟอร์มเด้งมาปั๊บ มี textbox สำหรับใส่ SQL เพื่อค้นหา เลือกปั๊บ binding ใน textbox (อันนี้เห็น paywin มีเลยอยากมีมั่ง ) แต่ก็ไม่เห็นมีใครใช้กัน

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-30 21:55:28 By : lamaka.tor
 


 

No. 23

Guest


ผมแนะนำในบื้องต้น.

1. Binding ก็ไม่มีอะไร
2. ใช้ "DataSource", "DisplayMember", "ValueMember", "SelectedValue" ใน combobox
คุณก็สร้าง Property เพื่อรับ/อ่านค่าของมัน
Code (VB.NET)
[    Private _SelectedValue As String
    <System.ComponentModel.DefaultValue(GetType(CultureAvaiable), "None"), System.ComponentModel.Category("Appearance")> _
    Public Property SelectedValue() As CultureAvaiable
        Get
            Return _SelectedValue
        End Get
        Set(ByVal Value As CultureAvaiable)
            _SelectedValue = Value
        End Set
    End Property

3./4. ใช้ button กดปุ๊บ มีอีกฟอร์มเด้งมาปั๊บ มี textbox สำหรับค้นหา เลือกปั๊บ binding ใน textbox 
ก็กำหนด Property มารับค่าตามที่เห็นสมควร
อทิเช่น

Code (VB.NET)
[vb]Public Class frmDataSearch
Public txtBoxHost As TextBox 'your User Control TextฺBox  'กำหนดค่าตามสามัญสำนึก
Public lstDataSource As IList 'ค้นหาใน Memory/Databases
Public strColumnName As String() = {"", "", "", ""} 'สมมุติให้มี 4 Columns
Public curSelectedValue As string 'ค่าเดิมที่ถูกเลือก PK

Private bs As New BindingSource

    Private Sub frmDataSearch_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        bs.DataSource =  lstDataSource 'หมายความว่าคุณส่งมาพร้อมข้อมูล
        InitialDataGridView(bs)
    End Sub

    Private Sub InitialDataGridView(ByVal bs As BindingSource)
        dgvXXX.AutoGenerateColumns = False
        dgvXXX.DataSource = bs
        For i As Integer = 0 To strColumnName.Count - 1
            If Not String.IsNullOrEmpty(strColumnName(i)) Then
                dgvXXX.Columns(i).DataPropertyName = strColumnName(i)
            End If
        Next
        If Not String.IsNullOrEmpty(curSelectedValue) Then
            Dim index = lstDataSource
.Cast(Of Object).ToList().FindIndex(Function(c) GetPropertyValue(c, strColumnName(0)) = curSelectedValue)
            If index <> -1 Then
                bs.Position = index
                dgvXXX.FirstDisplayedScrollingRowIndex = True
            End If
        Else
            dgvXXX.ClearSelection()
        End If
    End Sub
End Class



ปล. Sourcecode จริงของผม โหดร้ายกว่านี้เยอะ (Algorithm ในการคิดมันซับซ้อน)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 10:29:47 By : หน้าฮี
 


 

No. 24

Guest


ผมให้เอาไปคิดเป็นการบ้าน
การแชร์ Variable Value (ข้อมูลของตัวแปร) ข้ามเครื่อง Clients ทำอย่างไร?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 10:43:47 By : หน้าฮี
 


 

No. 25

Guest


จาก #NO 23 ผมลืมให้ตัวนี้ไป

Code (VB.NET)
    Public Shared Function GetPropertyValue(ByVal obj As Object, ByVal PropertyName As String) As Object
        Return obj.GetType().GetProperty(PropertyName).GetValue(obj, Nothing)
    End Function

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 10:48:19 By : หน้าฮี
 


 

No. 26



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



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

แหล่มครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 12:56:52 By : lamaka.tor
 


 

No. 27

Guest


ถ้าคุณเข้าใจในสถาปัตยกรรม 3-tier application / n-tier application

Sourcecode บรรทัดที่ 26
Code (VB.NET)
bs.DataSource =  lstDataSource 'หมายความว่าคุณส่งมาพร้อมข้อมูล


มันยังไม่ยืดหยุ่นพอ (มันต้องรองรับทุกฯ Object/Dynamic Object) ดังนี้
Code (VB.NET)
Dim _Ass As Assembly = LoadAssembly(Application.StartupPath & "\Your_DLL.dll")
Dim _Type As Type = LoadType(_Ass, "Data_Table_Model.TableName")
Dim mi As MethodInfo = GetMethodInfo(_Type2, "GetUsers", New Type() {GetType(Integer), GetType(EnumManager.SearchOption)})
Dim lstObj = InvokeMethod(mi, New Object() {1234, EnumManager.SearchOption.StartWith}) 




ปล. อนุมานได้ว่าผมมีโปรแกรมเมอร์ข้างกาย 20-30 คน (ผมจำเป็นต้องทำแบบนี้เพราะว่า ผมไม่มีคนช่วยเขียนโปรแกรม)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 13:30:20 By : หน้าฮี
 


 

No. 28

Guest


จาก #NO 27 ถ้าคุณยังมองภาพไม่ออกก็ลองนึกถึงการขายแบบมีโปรโมชั่น
แน่นอนว่าสูตรในการคำนวณหรือสิ่งที่ผมต้องการปิดบัง ผมไม่ได้เก็บเอาไว้ใน Database

วันนี้อาจจะให้ส่วนลด 5% วันพรุ่งนี้อาจให้ส่วนลดเป็น 10% เป็นต้น
--- คล้ายฯว่าผมเก็บข้อมูลเอาไว้ใน DLL แทนที่จะเก็บไว้ใน Database นั่นแหละ
ผมเขียนยัดเอาไว้ใน DLL


Good Luck.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 13:39:45 By : หน้าฮี
 


 

No. 29



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



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

เหล้าขาว เหล้านอก เหล้าต้ม ขอแค่เมาผมกินหมด

แต่ผมไม่ชอบกินผักนะ เพราะไม่ใช่สิ่งที่ผมอยากกิน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 13:44:27 By : lamaka.tor
 


 

No. 30



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



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

เป็นเรื่องจริงที่แปลกที่คนส่วนน้ยที่จะรู้เรื่อง Uncer ทั้งๆที่เราต้องกินอาหารทุกวัน
ดื่มน้ำทุกวัน และ หายใจทุกวัน

แต่เรากลับมองว่า Uncer ไม่ใช่ค่าที่ควรค่าแก่การใส่ใจ

หากค่ามาตรฐานสูงสุดของแคดเมียมในข้าว = 0.2 มก./กก

หากทางห้องแลบวัดได้ 0.15 มก./กก(แบบนี้ผ่านชัว)
หากทางห้องแลบวัดได้ 2.15 มก./กก(แบบนี้ไม่ผ่านชัว)
หากทางห้องแลบวัดได้ 0.15 +/- 0.06 มก./กก(แบบนี้ไม่ผ่าน)
หากทางห้องแลบวัดได้ 0.15 +/- 0.04 มก./กก(แบบนี้ผ่าน)

บางครั้งเราก็วัดความเสี่ยงของการบริโภคด้วย Uncer เช่นกัน

ปล. มีใครอยากรู้มั่งรึ(ไม่มี)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-01 14:04:38 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

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