001.
Public
Class
usrCtrCustomer
002.
Private
bsCustomer
As
New
BindingSource
003.
Private
Sub
usrCtrCustomer_Load(sender
As
Object
, e
As
EventArgs)
Handles
Me
.Load
004.
005.
006.
007.
008.
Dim
cboTestData = {
New
With
{.ID =
"00"
, Key .Name =
"ไม่ระบุ"
},
009.
New
With
{.ID =
"01"
, Key .Name =
"ลูกหนี้การค้า"
},
010.
New
With
{.ID =
"02"
, Key .Name =
"หน่วยงานราชการ"
},
011.
New
With
{.ID =
"03"
, Key .Name =
"อื่นฯ"
}
012.
}
013.
cboARTCode.DataSource = cboTestData
014.
cboARTCode.DisplayMember =
"Name"
015.
cboARTCode.ValueMember =
"ID"
016.
Dim
img
As
Image = Image.FromFile(Application.StartupPath &
"\..\..\Images\WomanAlert.png"
)
017.
Dim
img2
As
Image = Image.FromFile(Application.StartupPath &
"\..\..\Images\WomanExtentSame.png"
)
018.
Dim
lstCust = {
New
With
{.ARCode =
"01"
, .ARName =
"ABC"
, .ARAdd1 =
"เชียงใหม่"
, .BackList = img, .ARCR = 30},
019.
New
With
{.ARCode =
"02"
, .ARName =
"DEF"
, .ARAdd1 =
"ลำปาง"
, .BackList = img2, .ARCR = 0},
020.
New
With
{.ARCode =
"03"
, .ARName =
"GHK"
, .ARAdd1 =
"ลำพูน"
, .BackList = img, .ARCR = 0},
021.
New
With
{.ARCode =
"04"
, .ARName =
"XYT"
, .ARAdd1 =
"สงขลา"
, .BackList = img, .ARCR = 90},
022.
New
With
{.ARCode =
"05"
, .ARName =
"XYZ"
, .ARAdd1 =
"ยะลา"
, .BackList = img, .ARCR = 0},
023.
New
With
{.ARCode =
"06"
, .ARName =
"หมู"
, .ARAdd1 =
"เชียงใหม่"
, .BackList = img, .ARCR = 30},
024.
New
With
{.ARCode =
"07"
, .ARName =
"หมา"
, .ARAdd1 =
"ลำปาง"
, .BackList = img, .ARCR = 0},
025.
New
With
{.ARCode =
"08"
, .ARName =
"กา"
, .ARAdd1 =
"ลำพูน"
, .BackList = img, .ARCR = 0},
026.
New
With
{.ARCode =
"09"
, .ARName =
"ไก่"
, .ARAdd1 =
"สงขลา"
, .BackList = img, .ARCR = 90},
027.
New
With
{.ARCode =
"10"
, .ARName =
"แมว"
, .ARAdd1 =
"ยะลา"
, .BackList = img, .ARCR = 0}
028.
}.ToList()
029.
bsCustomer.DataSource = lstCust
030.
SetDGVInfo(bsCustomer)
031.
End
Sub
032.
Private
Sub
SetDGVInfo(
ByVal
bs
As
BindingSource)
033.
dgvCust.AutoGenerateColumns =
False
034.
Dim
imgCol
As
New
DataGridViewImageColumn
035.
imgCol.HeaderText =
String
.Empty
036.
imgCol.Width = 40
037.
imgCol.ImageLayout = DataGridViewImageCellLayout.Zoom
038.
dgvCust.Columns.Insert(0, imgCol)
039.
dgvCust.DataSource = bs
040.
dgvCust.Columns(0).DataPropertyName =
"BackList"
041.
dgvCust.Columns(1).DataPropertyName =
"ARCode"
042.
dgvCust.Columns(2).DataPropertyName =
"ARName"
043.
dgvCust.Columns(3).DataPropertyName =
"ARAdd1"
044.
dgvCust.Columns(6).DataPropertyName =
"ARCR"
045.
End
Sub
046.
Private
Sub
tsbAdd_Click(sender
As
Object
, e
As
EventArgs)
Handles
tsbAdd.Click
047.
Actions(
"A"
)
048.
txtARCode.Enabled =
True
049.
txtARCode.Focus()
050.
End
Sub
051.
Private
Sub
tsbEdit_Click(sender
As
Object
, e
As
EventArgs)
Handles
tsbEdit.Click
052.
If
dgvCust.SelectedRows.Count = 0
Then
053.
MessageBox.Show(
"กรุณาเลือกระเบียนในตารางด้านล่าง เพื่อแก้ไขข้อมูล"
,
"คำเตือน"
, MessageBoxButtons.OK)
054.
Exit
Sub
055.
Else
056.
Actions(
"E"
)
057.
txtARCode.Enabled =
False
058.
txtARName.Focus()
059.
End
If
060.
End
Sub
061.
Private
Sub
tsbBack_Click(sender
As
Object
, e
As
EventArgs)
Handles
tsbBack.Click
062.
BacktoPanelHead()
063.
End
Sub
064.
Private
Sub
BacktoPanelHead()
065.
pnlDetail1.Visible =
False
066.
pnlHead.Visible =
True
067.
pnlDetail1.Dock = DockStyle.Bottom
068.
pnlHead.Dock = DockStyle.Fill
069.
End
Sub
070.
Private
Sub
dgvCust_CellDoubleClick(sender
As
Object
, e
As
DataGridViewCellEventArgs)
Handles
dgvCust.CellDoubleClick
071.
Actions(
"E"
)
072.
End
Sub
073.
Private
Sub
Actions(
ByVal
mode
As
String
)
074.
pnlDetail1.Visible =
True
075.
pnlHead.Visible =
False
076.
pnlDetail1.Dock = DockStyle.Fill
077.
pnlHead.Dock = DockStyle.None
078.
lblActions.Text =
If
(mode =
"A"
,
"เพิ่มข้อมูล"
,
"แก้ไขข้อมูล"
)
079.
If
mode =
"E"
Then
080.
Dim
objARMas =
DirectCast
(bsCustomer, IEnumerable).OfType(Of
Object
)().ToList().Find(
Function
(c) c.ARCode = dgvCust.SelectedRows(0).Cells(
"ARCode"
).Value)
081.
If
objARMas IsNot
Nothing
Then
082.
txtARCode.Text = objARMas.ARCode
083.
txtARName.Text = objARMas.ARName
084.
txtARAdd1.Text = objARMas.ARAdd1
085.
cboARTCode._Text =
"อื่นฯ"
086.
cboARTCode._Key =
"03"
087.
cboARTCode.SelectedValue =
"03"
088.
End
If
089.
Else
090.
091.
mduControlManager.GetAllControl(pnlDetail1,
GetType
(WL_Controls.usrCtrlTextBox)).ToList().ForEach(
Sub
(x)
DirectCast
(x, WL_Controls.usrCtrlTextBox).ResetValue())
092.
mduControlManager.GetAllControl(pnlDetail1,
GetType
(WL_Controls.usrCtrComboBox)).ToList().ForEach(
Sub
(x)
DirectCast
(x, WL_Controls.usrCtrComboBox).ResetValue())
093.
End
If
094.
End
Sub
095.
Private
Sub
tsbSave_Click(sender
As
Object
, e
As
EventArgs)
Handles
tsbSave.Click, tsbSaveClear.Click, tsbSaveClose.Click
096.
Dim
sd
As
ToolStripButton =
DirectCast
(sender, ToolStripButton)
097.
Select
Case
ValidateData()
098.
Case
"ARCode"
099.
txtARCode.Focus()
100.
Exit
Sub
101.
Case
"ARName"
102.
txtARName.Focus()
103.
Exit
Sub
104.
End
Select
105.
Select
Case
sd.Name.Substring(sd.Name.Length - 4)
106.
Case
"Save"
107.
Case
"lear"
108.
mduControlManager.GetAllControl(pnlDetail1,
GetType
(WL_Controls.usrCtrlTextBox)).ToList().ForEach(
Sub
(x)
DirectCast
(x, WL_Controls.usrCtrlTextBox).ResetValue())
109.
mduControlManager.GetAllControl(pnlDetail1,
GetType
(WL_Controls.usrCtrComboBox)).ToList().ForEach(
Sub
(x)
DirectCast
(x, WL_Controls.usrCtrComboBox).ResetValue())
110.
Case
"lose"
111.
BacktoPanelHead()
112.
End
Select
113.
114.
115.
116.
MessageBox.Show(
"บันทึกข้อมูลเรียบร้อยแล้ว"
)
117.
End
Sub
118.
Private
Sub
txtARCode_KeyUp(sender
As
Object
, e
As
KeyEventArgs)
Handles
txtARCode.KeyUp, txtARName.KeyUp
119.
ValidateData()
120.
End
Sub
121.
Private
Sub
txtARName_Leave(sender
As
Object
, e
As
EventArgs)
Handles
txtARCode.Leave, txtARName.Leave
122.
ValidateData()
123.
End
Sub
124.
Private
Function
ValidateData()
As
String
125.
lblARCodeRequire.Visible =
If
(txtARCode.Text.Trim().Equals(
String
.Empty),
True
,
False
)
126.
lblARNameRequire.Visible =
If
(txtARName.Text.Trim().Equals(
String
.Empty),
True
,
False
)
127.
Return
If
(lblARCodeRequire.Visible =
True
,
"ARCode"
,
If
(lblARNameRequire.Visible =
True
,
"ARName"
,
String
.Empty))
128.
End
Function
129.
130.
131.
Private
Sub
btnSearchNormal_Click(sender
As
Object
, e
As
EventArgs)
Handles
btnSearchaRCode.Click, btnSearchARName.Click
132.
SearchNormal(
DirectCast
(sender, Button))
133.
End
Sub
134.
135.
Private
Sub
SearchNormal(
ByVal
btnS
As
Button)
136.
Dim
objARMas
As
List(Of
Object
)
137.
138.
If
btnS.Name.Substring(btnS.Name.Length - 4) =
"Code"
Then
139.
objARMas =
DirectCast
(bsCustomer, IEnumerable).OfType(Of
Object
)().ToList().FindAll(
Function
(c) c.ARCode.Contains(txtSearchARCode.Text))
140.
Else
141.
objARMas =
DirectCast
(bsCustomer, IEnumerable).OfType(Of
Object
)().ToList().FindAll(
Function
(c) c.ARName.Contains(txtSearchARName.Text))
142.
End
If
143.
If
objARMas IsNot
Nothing
Then
144.
dgvCust.DataSource =
Nothing
145.
dgvCust.DataSource =
New
BindingSource
With
{.DataSource = objARMas}
146.
End
If
147.
End
Sub
148.
End
Class