Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Max Pro

 
Название:

Две заплатки для ASPxGridView (элемент управления из библиотеки Developer Express, диапазон версий 7.2.2.0 ... 7.2.5.0)

Дата: 04 December 2007
Описание: 1-я заплатка лечит от синдрома порчи русских букв, 2-я позволяет добавить detailGrid в masterGrid с помощью раздельного кода. Вообще, надо сказать, элементы управления DevEx, созданные под вэб, больше походят на бета-версию, так как нет-нет, да обнаруживаются ошибки, нарушающие функциональность и сильно осложняющие программирование вэб-страницы, содержащей Dev-Ex-элементики. 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=219]Две заплатки для ASPxGridView (элемент управления из библиотеки Developer Express, диапазон версий 7.2.2.0 ... 7.2.5.0)[/CODEPOST]
Оценка: Проголосовало 12 посетителей, средняя оценка 1.58
Оценить:
  1 /* Примечание:
  2  * при работе с DevEx запаситесь терпением, так как философия работы
  3  * c DevEx-элементами управления отличается от общепринятой философии
  4  * работы со стандартными элементами управления Microsoft:
  5  * если Microsoft-элементы оптимизированы для работы в раздельном коде,
  6  * то DevEx-элементы управления оптимизированы для html-разметки :(
  7  */
  8 	public partial class DevExWebPage : System.Web.UI.Page
  9 	{
 10 		#region Заплатка DevEx от порчи русских букв
 11 		protected override void InitializeCulture()
 12 		{
 13 			string cp = Page.Request.Params["__CALLBACKPARAM"];
 14 			if (!string.IsNullOrEmpty(cp))
 15 			{
 16 				byte[] ua = Request.ContentEncoding.GetBytes(cp);
 17 				byte[] ba = System.Text.Encoding.Convert(System.Text.Encoding.UTF8, Request.ContentEncoding, ua);
 18 				string s = new string(Request.ContentEncoding.GetChars(ba));
 19 				Type nvcType = Page.Request.Form.GetType();
 20 				nvcType.InvokeMember("IsReadOnly", BindingFlags.NonPublic | BindingFlags.SetProperty | BindingFlags.FlattenHierarchy | BindingFlags.Instance, null, Page.Request.Form, new object[] { false });
 21 				nvcType.InvokeMember("IsReadOnly", BindingFlags.NonPublic | BindingFlags.SetProperty | BindingFlags.FlattenHierarchy | BindingFlags.Instance, null, Page.Request.Params, new object[] { false });
 22 				Page.Request.Form["__CALLBACKPARAM"] = s;
 23 				Page.Request.Params["__CALLBACKPARAM"] = s;
 24 			}
 25 			base.InitializeCulture();
 26 		}
 27 		#endregion Заплатка DevEx от порчи русских букв
 28 		#region Заплатка DevEx от неработоспособности процедуры masterGrid.Templates.DetailRow.InstantiateIn(detailGrid). Вместо этого используйте masterGrid.Templates.DetailRow = new MyTemplate(detailGrid).
 29 		private class MyTemplate : ITemplate
 30 		{
 31 			private DevExpress.Web.ASPxGridView.ASPxGridView oGrid;
 32 			/// <summary>
 33 			/// Конструктор по умолчанию не используйте, он ничего не даст.
 34 			/// </summary>
 35 			public MyTemplate()
 36 			{
 37 				this.oGrid = new DevExpress.Web.ASPxGridView.ASPxGridView();
 38 			}//end new()
 39 			/// <summary>
 40 			/// Единственная перегрузка, которой следует воспользоваться.
 41 			/// </summary>
 42 			/// <param name="oGrid">Внутренний грид.</param>
 43 			public MyTemplate(DevExpress.Web.ASPxGridView.ASPxGridView oGrid)
 44 			{
 45 				this.oGrid = oGrid;
 46 			}//end new(oGrid)
 47 			public void InstantiateIn(System.Web.UI.Control container)
 48 			{
 49 				Panel oPanel = new Panel();
 50 				oPanel.Width = Unit.Percentage(100);
 51 				oPanel.Style.Add("OVERFLOW", "auto");
 52 				oPanel.Controls.Add(oGrid);
 53 				container.Controls.Add(oPanel);
 54 			}//end void InstantiateIn
 55 		}//end class MyTemplate
 56 		#endregion Заплатка DevEx от неработоспособности процедуры masterGrid.Templates.DetailRow.InstantiateIn(detailGrid). Вместо этого используйте masterGrid.Templates.DetailRow = new MyTemplate(detailGrid).
 57 
 58 // Добавьте сюда Ваш код.
 59 
 60 	}//DevExWebPage
 61 
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта