Hi,
In your WPF application you can use search style like as google. Like the images when you are type in a Textbox for search.
and your matching data will load in Employee list:
this can be done on Textchange event. hare i use textbox for type, listbox for load type matches data & the Listview for displaying the final data.
Text Change Event:
Implement GetSingleEmployee() Method
Listbox Event 1
Listbox Event
Listbox Event 3
Listbox xaml
Two Global Class
Employee Class
For any query please write your comment.
In your WPF application you can use search style like as google. Like the images when you are type in a Textbox for search.
and your matching data will load in Employee list:
this can be done on Textchange event. hare i use textbox for type, listbox for load type matches data & the Listview for displaying the final data.
Text Change Event:
private void searchEmployeeCodeTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
employesLstView.Items.Clear();
if (searchEmployeeCodeTextBox.Text != "")
{
empObj.EmployeeCode = searchEmployeeCodeTextBox.Text.Trim();
List<EEmployeeInfo> employeeInfos = new List<EEmployeeInfo>();
employeeInfos = bEmployeeObj.listshowEmployeeCodeWise(empObj);
if (employeeInfos.Count > 0)
{
if (employeeInfos.Count != 1)
{
employeeCodeListBox.Visibility = Visibility.Visible;
foreach (var obj in employeeInfos)
{
employeeCodeListBox.Items.Add(obj.EmployeeCode + "(" + obj.EmployeeName + ")");
}
}
else
{
GetSingleEmployeeInfo();
employeeCodeListBox.Visibility = Visibility.Hidden;
}
}
else
{
employeeCodeListBox.Visibility = Visibility.Hidden;
}
}
else
{
PopulateEmployeeList();
employeeCodeListBox.Visibility = Visibility.Hidden;
}
}
Implement GetSingleEmployee() Method
private void GetSingleEmployeeInfo()
{
List<EEmployeeInfo> employeeInfosList = new List<EEmployeeInfo>();
try
{
empObj.EmployeeCode = searchEmployeeCodeTextBox.Text.Trim();
employeeInfosList = (List<EEmployeeInfo>)bEmployeeObj.GetSelectedEmployeesCodeInfo(empObj);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Single Employee Info.", MessageBoxButton.OK, MessageBoxImage.Information);
}
if (employeeInfosList.Count > 0)
{
foreach (EEmployeeInfo employeeInfo in employeeInfosList)
{
employesLstView.Items.Add(employeeInfo);
}
}
}
Listbox Event 1
private void employeeCodeListBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (employeeCodeListBox.SelectedIndex == 0 && e.Key == Key.Up)
{
searchEmployeeCodeTextBox.Focus();
}
if (employeeCodeListBox.SelectedIndex > -1)
{
if (e.Key == Key.Enter)
{
string[] id = (employeeCodeListBox.SelectedItem.ToString()).Split('(');
searchEmployeeCodeTextBox.Text = id[0];
}
}
}
Listbox Event
private void employeeCodeListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (employeeCodeListBox.SelectedIndex > -1)
{
string[] id = (employeeCodeListBox.SelectedItem.ToString()).Split('(');
searchEmployeeCodeTextBox.Text = id[0];
}
}
Listbox Event 3
private void searchEmployeeCodeTextBox_PreviewKeyUp(object sender, KeyEventArgs e)
{
if(employeeCodeListBox.Items.Count>0 && e.Key==Key.Down)
{
employeeCodeListBox.Focus();
}
}
Listbox xaml
<ListBox Height="100" HorizontalAlignment="Left" Margin="180,61,0,0" Name="employeeCodeListBox" VerticalAlignment="Top" Width="218" PreviewKeyDown="employeeCodeListBox_PreviewKeyDown" MouseDoubleClick="employeeCodeListBox_MouseDoubleClick" />
Two Global Class
private BEmployeeInfo bEmployeeObj = new BEmployeeInfo();
private EEmployeeInfo empObj = new EEmployeeInfo();
Employee Class
public class EEmployeeInfo
{
public long EmployeeId { get; set; }
public string EmployeeCode { get; set; }
public string EmployeeName { get; set; }
public DateTime DateOfBirth { get; set; }
public string PresentAddress { get; set; }
public string PermanentAddress { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string Mobile { get; set; }
public byte[] Photo { get; set; }
public byte[] CV { get; set; }
public string DepartmentName { set; get; }
public string DesignationName { set; get; }
public string Location { get; set; }
public string SuperiourName { get; set; }
}
For any query please write your comment.
Comments
Post a Comment