Используйте DataGridview для просмотра изображений.
如果要考虑效率,还是结合分页的"存储过程"比较好,只是变通了一下。
1 #region 数据处理
2 /// <сводка>
3 /// 得到期初数据
4 /// </сводка>
5 частная пустота getFillDateset()
6 {
7 попробовать
8 {
9 // 每页显示数
10 Размер страницы = 10;
11 //得到最大记录数
12 maxRec = dtSource.Rows.Count;
13 // 共有多少页
14 pageCount = (maxRec/pageSize);
15 //取余数
16 if ((maxRec % pageSize) > 0)
17 {
18 страницСчетчик++;
19 }
20 // 默认第一页
21 текущая страница = 1;
22 номер записи = 0;
23 ЗагрузитьСтраницу();
24 }
25 уловов
26 {
27 }
28 }
29
30
31 /// <сводка>
32 /// 判断是否数据已经加载
33 /// </summary>
34 /// <возвращается></возвращается>
35 частный bool CheckFillButton()
36 {
37 if (pageSize == 0) вернуть false;
38 else возвращает true;
39 }
40
41 /// <сводка>
42 /// Таблица данных DataTable的数据
43 /// </summary>
44 частная пустота LoadPage()
45 {
46 интервал стартрек;
47 интервал endRec;
48 Таблица данных dtTemp;
49
50
51 dtTemp = dtSource.Clone();
52, если (currentPage == pageCount) endRec = maxRec;
53 еще endRec = pageSize * currentPage;
54 startRec = номер записи;
55 для (int i = startRec; i < endRec; i++)
56 {
57 dtTemp.ImportRow(dtSource.Rows[i]);
58 записьНо++;
59 }
60 this.dataGridView1.DataSource = dtTemp;
61 }
62
63 /// <сводка>
64 /// 分页事件(取各个按键的Tag值)
65 /// </summary>
66 /// <param name="sender"></param>
67 /// <param name="e"></param>
68 частная страница изменения void (отправитель объекта, EventArgs e)
69 {
70 if (!CheckFillButton()) return;
71 int myint = Convert.ToInt16((строка)(отправитель как кнопка).Tag);
72 переключатель (myint)
73 {
74 случай 1:
75 если (текущая страница == 1)
76 {
77 MessageBox.Show("Теперь первая страница!");
78 возврат;
79
80 }
81 текущая страница = 1;
82 номер записи = 0;
83 ЗагрузитьСтраницу();
84 перерыв;
85 случай 2:
86 текущая страница++;
87, если (текущая страница > счетчик страниц)
88 {
89 текущая страница = PageCount;
90 если (recNo == maxRec)
91 {
92 MessageBox.Show("Теперь последняя страница!");
93 возврата;
94 }
еще 95
96 RecNo = pageSize * (currentPage + 1);
97 }
98 ЗагрузитьСтраницу();
99 перерыв;
100 случай 3:
101 если (текущая страница == PageCount)
102 RecNo = размер страницы * (текущая страница - 2);
103 текущая страница--;
104, если (текущая страница < 1)
105 {
106 MessageBox.Show("Теперь первая страница!");
107 текущая страница = 1;
108 возврат;
109 }
еще 110
111 RecNo = pageSize * (currentPage - 1);
112
113 ЗагрузитьСтраницу();
114 перерыв;
115
116 случай 4:
117 if (!CheckFillButton()) return;
118 if (recNo == maxRec)
119 {
120 MessageBox.Show("Последняя страница сейчас!");
121 возврат;
122 }
123 текущая страница = PageCount;
124 RecNo = pageSize * (currentPage - 1);
125 ЗагрузитьСтраницу();
126 перерыв;
127 }
128
129 }
130
131 #конечныйрегион
http://www.cnblogs.com/azhai/archive/2006/09/18/507624.html