मेरे पास लगभग 1000 ऑब्जेक्ट्स का अवलोकन करने योग्य चयन है जिसे अंतिम उपयोगकर्ता द्वारा फ़िल्टर (खोजा) की आवश्यकता है। उपयोगकर्ता नाम या कर्मचारी आईडी द्वारा खोज करने में सक्षम होना चाहिए। सूची नियंत्रण फ़िल्टर किए गए कर्मचारियों का उपभोग करता है और कर्मचारियों को पृष्ठ लोड पर सब कुछ के साथ लोड किया जाता है।उपयोगकर्ता इनपुट द्वारा एक पर्यवेक्षण चयन को फ़िल्टर करना
मैं वर्तमान में यह इस तरह के रूप में स्थापित किया है:
public ObservableCollection<EmployeeServicesData> Employees { get; set; }
public ObservableCollection<EmployeeServicesData> FilteredEmployees { get; set; }
internal void FilterEmployee(string searchText, bool isByName)
{
if (searchText.Length > 0)
{
IEnumerabe<EmployeeServicesData> filter;
if (isByName)
filter = Employees.Where(x => x.Name.Length >= searchText.Length).Where(x => x.Name.Substring(0, searchText.Length) == searchText.ToUpper());
else
filter = Employees.Where(x => x.EmployeeNumber.ToString().Length > searchText.Length).Where(x => x.EmployeeNumber.ToString().Substring(0, searchText.Length) == text);
foreach (EmployeeServicesData employee in filter)
FilteredEmployees.Add(employee);
}
}
स्वच्छता इस विधि से पहले नियंत्रित किया जाता है।
यह बहुत प्रभावशाली गंध नहीं करता है। क्या मुझे इसके लिए दो तरीकों का उपयोग करना चाहिए, या फ़िल्टरिंग को संभालने का एक बेहतर तरीका है?
मैं कर्मचारियों को एक अपरिवर्तित स्थिति में रखना चाहता हूं ताकि मैं फिर से डीबी को मारने के बिना फ़िल्टर किए गए कर्मचारियों को पूरी सूची में दोबारा बदल सकूं।
किस प्रकार अपनी सूची नियंत्रण है? यह साफ होगा अगर यह फ़िल्टर करने वाले कर्मचारियों को उनकी प्रतिलिपि बनाने के बजाय सीधे उपभोग कर सकता है, लेकिन केवल 1000 के साथ यह शायद कोई फर्क नहीं पड़ता। –
FilteredEmployees – Slipfish