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

Логин

Email:
  Пароль:

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

Поиск

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

Сообщение

Renziglov


Болтун

Зарегистрирован:
28 May 2005
Сообщения: 424
Примеры кода: 0
 

Пустой GridView и FooterRow.....

08 August 2008 16:20  


Ответ: можно. Для этого надо сразу же наплевать на EmptyDataTemplate, эту залипуху для ленивых программистов и преписать класс GridView. Как вариант

  • имплементируй "пустое" чтение, т.е. код в случае, если таблица пуста и грид рискует остаться пустым с одной ячейкой, как тыговоришь
using (PsqlCommand com1 = new PsqlCommand())
            {
                com1.Connection = con1;
                com1.CommandText = SqlClause;

                con1.Open();
                using (PsqlDataReader reader = com1.ExecuteReader(CommandBehavior.SchemaOnly))
                {
//здесь читаешь толко метаданные

                    dt.Load(reader);
                    for (int k = 1; k < dt.Columns.Count; k++) dt.Columns[k].AllowDBNull = true;
 
                    //Find nearest string field
                    object o = new object();
                    MakeEmptyTableHelper(dt.Columns[0].DataType.Name, ref o);
                    
                    //add empty Row or Rows
                    for (int k = 0; k < EmptyTableRowsCount; k++) 
                        dt.Rows.Add(o);

                   reader.Close();
                }
            }
            dt.TableName = "Empty";
            return dt;
Результатом будет пустая таблица, к которой можно байндить грид. Про хелпер:
private void MakeEmptyTableHelper(string dataTypeName, ref object o)
        {
            switch (dataTypeName)
            {
                case "Int32":
                case "Int64":
                    o = 0;
                    break;
                case "String":
                    o = " ";
                    break;
                case "DateTime":
                    o = DateTime.Now;
                    break;
                case "Boolean":
                    o = false;
                    break;
                default:
                    o = 0;
                    break;
            }
            
        }


Что-то в таком духе.

Ясность языка - результат ясного мышления.
(Кажется Ф. Бэкон, но тут ясности нет)

Данное сообщение получено с сайта GotDotNet.RU
Последний раз редактировалось 08 August 2008 16:19
Наверх
  



Общие вопросы программирования на ASP.NET

 Пустой GridView и FooterRow.....Ахмед  08 August 2008 13:42
 Пустой GridView и FooterRow.....Renziglov  08 August 2008 16:20
 
Наш Киев

Apartments for Rent

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