|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
организация фильтрации списка наподобие Index в MSDN |
|
Дата:
|
19 July 2004 |
|
Описание: |
есть textBox1 и listBox1. в listBox1 вносим какой нибудь очеь длинный список данных. и вводя текст в textBox1 фильтруем по по введенной строке наш список.
аналог можно посмотреть на вкладке Index y MSDN или VS.NET |
| |
Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения
следующую строку:
[CODEPOST ID=105]организация фильтрации списка наподобие Index в MSDN[/CODEPOST] |
| Оценка: |
Проголосовало 2 посетителей, средняя оценка 5.00 |
| Оценить: |
|
1 #region Using directives
2
3 using System;
4 using System.Collections.Generic;
5 using System.ComponentModel;
6 using System.Data;
7 using System.Drawing;
8 using System.Windows.Forms;
9 using System.Collections;
10
11 #endregion
12
13 namespace WindowsApplication1
14 {
15 partial class Form1 : Form
16 {
17 // ручками для примера забил небольшой массивчик для фильтрации
18 public object[] list = new object[] {
19 "BMW 3 Coupe",
20 "BMW 3 Sedan",
21 "BMW 3 Universal",
22 "BMW 5 Coupe",
23 "BMW 5 Sedan",
24 "BMW 5 Universal",
25 "BMW M3 CLS",
26 "BMW M3 Coupe",
27 "BMW Z3 Series",
28 "BMW Z4 Series",
29 "BMW X3 Series",
30 "BMW X5 Series"};
31
32 public ArrayList FilteredList = new ArrayList();
33
34 public Form1()
35 {
36 InitializeComponent();
37 // заполняем listBox1 списком данных
38 this.listBox1.Items.AddRange(list);
39 }
40
41 private void textBox1_TextChanged(object sender, EventArgs e)
42 {
43 try
44 {
45 // пробегаем все итемсы в нашем списке
46 foreach (object item in list)
47 {
48 // если находим в начале строки-итема текст подобный набранному в текст боксе....
49 if (item.ToString().Substring(0, textBox1.Text.Length) == textBox1.Text)
50 // добавляем его в наш фильтрованный список:
51 this.FilteredList.Add(item);
52 }
53 // пробежавшись по всему списку - очищаем отображаемый список
54 this.listBox1.Items.Clear();
55 // заполняем фильтрованным списком наш listBox1
56 foreach (object newitem in this.FilteredList)
57 {
58 this.listBox1.Items.Add(newitem);
59 }
60 // очищаем фильтр
61 this.FilteredList.Clear();
62 }
63 catch (Exception w)
64 {
65 MessageBox.Show(w.Message + '\n' + w.ToString());
66 }
67 }
68 }
69 }
70 // радуемся жизни 5 минут. |
| Вернуться к списку исходников в категории Winforms |
|
|
 |
 |
 |
 |
|
|