01-03-18, 06:11 PM
السلام عليكم ورحمة الله وبركاتة
ارجو المساعده لى اضافة طريقة البحث Where SqlMethods.Like للمتغير SrchResult
ارجو المساعده لى اضافة طريقة البحث Where SqlMethods.Like للمتغير SrchResult
كود :
Public Class AdvSearch
Dim datatest As New TestDataContext
Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
' We Call MainBind Procedure To Bind Data To Respective Combo's
MainBind()
End Sub
Private Sub MainBind()
Try
'Binding Customer Combo
CustomerCombo.DataSource = From l In datatest.Customers Select l.CustomerID, l.CompanyName
CustomerCombo.ValueMember = "CustomerID"
CustomerCombo.DisplayMember = "CompanyName"
CustomerCombo.SelectedValue = -1
'Binding Shippers ComboBox
ShippersCombo.DataSource = From l In datatest.Shippers Select l.ShipperID, l.CompanyName
ShippersCombo.ValueMember = "ShipperID"
ShippersCombo.DisplayMember = "CompanyName"
ShippersCombo.SelectedValue = -1
'Binding Employee ComboBox
EmployeeCombo.DataSource = From l In datatest.Employees Select l.EmployeeID, l.FirstName
EmployeeCombo.ValueMember = "EmployeeID"
EmployeeCombo.DisplayMember = "FirstName"
EmployeeCombo.SelectedValue = -1
Catch ex As Exception
MessageBox.Show(ex.Message, "LINQ Advanced Search", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End Sub
Private Sub SearchBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchBtn.Click
'Select the entire Order table and put result in an Anonymous Type variable called SrchResult
Dim SrchResult = From k In datatest.Orders Select k
Dim flag As Boolean = False
SearchResultGrid.Controls.Clear()
Try
'Sort All Orders Which Have The Selected Customer ID
If CustomerCombo.SelectedValue <> Nothing Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.CustomerID = CStr(CustomerCombo.SelectedValue))
End If
'Sort All Orders Which Have The Selected Shipper ID
If ShippersCombo.SelectedValue <> Nothing Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.ShipVia = CInt(ShippersCombo.SelectedValue))
End If
'Sort All Orders Which Have The Selected Employee ID
If EmployeeCombo.SelectedValue <> Nothing Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.EmployeeID = CInt(EmployeeCombo.SelectedValue))
End If
'Sort All Orders Which Have The Selected Order Date
If OrderDatetxt.Text <> Nothing Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.OrderDate = CDate(OrderDatetxt.Text))
End If
'Sort All Orders Which Have The Selected Required Date
If RequiredDateTxt.Text <> Nothing Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.RequiredDate = CDate(RequiredDateTxt.Text))
End If
'Sort All Orders Which Have The Selected Shipped Date
If ShippedDateTxt.Text <> Nothing Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.ShippedDate = CDate(ShippedDateTxt.Text))
End If
'Sort All Orders Which Have The Selected Shipped Address
If ShippedAddressTxt.Text <> "" Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.ShipAddress = CStr(ShippedAddressTxt.Text))
End If
''Sort All Orders Which Have The Selected Shipped City
If ShippedCityTxt.Text <> "" Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.ShipCity = CStr(ShippedCityTxt.Text))
End If
'Sort All Orders Which Have The Selected Shipped Country
If ShippedCountryTxt.Text <> "" Then
flag = True
SrchResult = SrchResult.Where(Function(p) p.ShipCountry = CStr(ShippedCountryTxt.Text))
End If
If flag = False Then
MessageBox.Show("Please Select A Criteria For Search", "LINQ Advanced Search", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
If SrchResult.Any Then
SrchResult = SrchResult.OrderBy(Function(k) k.CustomerID)
SearchResultGrid.DataSource = SrchResult
Else
MessageBox.Show("There Is No Record That Matchs Your Criteria.", "LINQ Advanced Search", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch Ex As Exception
MessageBox.Show(Ex.Message, "LINQ Advanced Search", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End Sub
End Class