| ..: Отображение DataGrid'a в маленькой области экрана без использования разбиения на страницы :.. |
ЯЗЫК: C# ВЕРСИИ ASP.NET: 1.0 | 1.1 АВТОР:
Bipin Joshi, http://www.dotnetbips.com/ ПЕРЕВОД: Чужа В.Ф ака hDrummer
Источник: http://dotnetgrains.sql.ru/
Вступление
Разбиение на страницы - одна из наиболее часто используемых свойств
элемента управления DataGrid. У этого свойства есть следующие преимущества:
- Отображение небольшого количества данных из большого набора
- Экономия места в окне браузера, благодаря разбивке на страницы
Однако разбиение на страницы вынуждает нас
выполнять postback каждый раз при каждой смене страницы. Представьте, что вам
нужно отобразить набор данных в 100 записей. На самом деле это не такой уж и
большой объём для таких приложений, которые мы разрабатываем. Поэтому
необходимость в использовании разбиения на страницы сомнительна. Однако
отображение на одной странице 100 записей одновременно будет означать
неэкономное отношение к оконному пространству. Итак - с одной стороны разбиение
на страницы вроде бы не нужно, а с другой 100 отображаемых записей отбирают
слишком много места. Как выйти из этой ситуации? Читаем дальше…
Создание веб-формы с DataGrid
Сначала создадим веб-форму с DataGrid'ом, привязанным к таблице БД.
Назовём файл WebForm1.aspx. Выглядит это так:
<HTML> <HEAD>
<title>WebForm1</title> </HEAD> <body>
<form id="Form2" method="post" runat="server">
<asp:DataGrid id="DataGrid1" runat="server">
</asp:DataGrid> </form> </body>
</HTML> |
В обработчике события Page_Load привяжем DataGrid как обычно:
string connstr = "Integrated
Security=SSPI;Initial Catalog=Northwind; Data Source=SERVER\NetSDK";
SqlConnection con = new SqlConnection(connstr); SqlDataAdapter da
= new SqlDataAdapter("select * from employees", con); DataSet ds = new
DataSet(); da.Fill(ds, "employees"); DataGrid1.DataSource = ds;
DataGrid1.DataMember = "employees"; DataGrid1.DataBind();
| Создание веб-формы,
содержащей этот DataGrid
Теперь создадим главную форму, в которой и будут отображаться данные
(назовём её DataGridHost.aspx). Используем тэг IFRAME языка HTML, который будет
ссылаться на WebForm1, которую мы разработали предварительно. Код:
<%@ Page Language="c#"%>
<html> <head>
<title>DataGridHost</title> </head>
<body> <iframe src="webform1.aspx">
</iframe> </body> </html>
| Эта веб-форма может содержать и
другие элементы управления, так же, как и обычная веб-форма. Как только эта
форма будет выведена в окне браузера, DataGrid из WebForm1 также будет показана
в рамках тэга IFRAME. Заметьте, что тэг IFRAME является специфичным для Internet
Explorer, кроме того он ещё имеет некоторые дополнительные атрибуты, например
width и height, которые могут помочь вам управлять шириной и высотой окна
отображения соответственно. Эта веб-форма может содержать и другие элементы
управления, так же, как и обычная веб-форма. Как только эта форма будет выведена
в окне браузера, DataGrid из WebForm1 также будет показана в рамках тэга IFRAME.
Заметьте, что тэг IFRAME является специфичным для Internet Explorer, кроме того
он ещё имеет некоторые дополнительные атрибуты, например width и height, которые
могут помочь вам управлять шириной и высотой окна отображения соответственно.
Вот, собственно, и всё.
При перепечатке любого материала с журнала или с сайта,
видимая ссылка на источник
http://altwebdeveloper.nm.ru
и все имена, ссылки авторов обязательны.
© 2004 CAS "altDesign"
© Валерий В. Макеев (deepInfinity)
|