DataGridView. Новый контрол в составе Framework 2.0. Часть 2
От: Щербунов Нейл Россия  
Дата: 30.07.06 08:20
Оценка: 255 (15) +1
Статья:
DataGridView. Новый контрол в составе Framework 2.0. Часть 2
Автор(ы): Щербунов Нейл
Дата: 06.06.2005
Вторая часть статьи про DataGridView.


Авторы:
Щербунов Нейл

Аннотация:
Продолжение статьи http://rsdn.ru/article/?806
Автор(ы): Щербунов Нейл
Дата: 23.08.2006
Настоящая статья посвящена одному из самых мощных и сложных контролов входящих в состав второго Фреймворка, а именно контролу с именем DataGridView.
, опубликованной в предыдущем номере RSDN Magazine.
DataGridView. Новый контрол в составе Framework 2.0. Часть 2
От: Аноним  
Дата: 30.07.06 11:32
Оценка:
Савсем савсем рсдн стал коммерческим, ай как плоха
Все должно быть просто, очень просто, настолько просто — насколько это возможно!
Мой блог Возможно на твой вопрос уже есть ответ? FAQ


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: DataGridView. Новый контрол в составе Framework 2.0. Час
От: Ник  
Дата: 30.07.06 17:59
Оценка: :))) :)
ЕВ>Савсем савсем рсдн стал коммерческим, ай как плоха
Пожалуйста, скорее проинвестируйте туда кучу денег, чтобы он стал благотворительным!! Спасибо.
Re: DataGridView. Новый контрол в составе Framework 2.0. Час
От: IB Австрия http://rsdn.ru
Дата: 31.07.06 09:02
Оценка: +1
Здравствуйте, Евгений Веприков, Вы писали:

ЕВ>Савсем савсем рсдн стал коммерческим, ай как плоха

Где можно получить свои деньги?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: DataGridView. Новый контрол в составе Framework 2.0.
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 31.07.06 09:31
Оценка: :)
Здравствуйте, IB, Вы писали:

IB>Где можно получить свои деньги?


Вань, ты только не обижайся, ну твою долю уже того
... << RSDN@Home 1.2.0 alpha rev. 654>>
Re: DataGridView. Новый контрол в составе Framework 2.0. Час
От: Max404.NET Россия http://HrExpress.ru/
Дата: 31.08.06 12:05
Оценка:
Здравствуйте, Щербунов Нейл, Вы писали:

делаю class DataGridViewDateCell : DataGridViewTextBoxCell на основе примера из статьи, в функции InitializeEditingControl не удаётся получить Value, пишет ошибку

Specified argument was out of the range of valid values.
Parameter name: rowIndex


код:

public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
    {
        base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);
        DataGridViewDateEditingControl editingCtrl = this.DataGridView.EditingControl as DataGridViewDateEditingControl;
        this._heightOfRowBeforeEditMode = this.OwningRow.Height;
        //this.OwningRow.Height = editingCtrl.Height; <-здесь кстати тоже ошибка

        object _value = this.Value; // <-ошибка здесь
        if(_value == null)
            _value = DateTime.Now;

        editingCtrl.Value = (DateTime)_value;
    }


можно конечно использовать initialFormattedValue, оно предеётся нормально, но ведь это неправильно???
Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости из любого места программы.
Re[2]: DataGridView. Новый контрол в составе Framework 2.0.
От: Smarty Россия  
Дата: 08.09.06 20:08
Оценка:
Здравствуйте, Max404.NET, Вы писали:

MN>можно конечно использовать initialFormattedValue, оно предеётся нормально, но ведь это неправильно???


Да — это не очень красиво. По поводу ошибки — мало информации. Пример же из статьи работает? Значит смотрите — что меняли...
Или, если хотите, выкладывайте минимально-запускаемый код воспроизводящий ошибку — бум посмотреть...
<<Rule of Forum: После того, как вопрос задан... не поленитесь поставить отвечавшему оценку!>>
Re: DataGridView. Новый контрол в составе Framework 2.0. Час
От: Bill_G  
Дата: 01.12.06 12:01
Оценка:
Здравствуйте, Щербунов Нейл, Вторая часть на 5+. Как сделать неравномерные строки???? Проблема — нужно что бы в первой строке в первая колонка ячейка была DataGridViewTextBoxCell а в следующей строке в той же колонке уже с кнопкой DataGridViewButtonCell!
Re: DataGridView. Новый контрол в составе Framework 2.0. Час
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.06 15:12
Оценка:
Здравствуйте, Евгений Веприков, Вы писали:

ЕВ>Савсем савсем рсдн стал коммерческим, ай как плоха


А можно по подробнее развить эту мысть?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: DataGridView. Новый контрол в составе Framework 2.0. Час
От: Аноним  
Дата: 15.06.07 08:33
Оценка:
Здравствуйте, Щербунов Нейл, Вы писали:

ЩН>Статья:

ЩН>DataGridView. Новый контрол в составе Framework 2.0. Часть 2
Автор(ы): Щербунов Нейл
Дата: 06.06.2005
Вторая часть статьи про DataGridView.


ЩН>Авторы:

ЩН> Щербунов Нейл

ЩН>Аннотация:

ЩН>Продолжение статьи http://rsdn.ru/article/?806
Автор(ы): Щербунов Нейл
Дата: 23.08.2006
Настоящая статья посвящена одному из самых мощных и сложных контролов входящих в состав второго Фреймворка, а именно контролу с именем DataGridView.
, опубликованной в предыдущем номере RSDN Magazine.


Хочу продолжить тему насчет Размещение в ячейке пользовательского UserControl, я встроил в грид NumericUpDown все работает, но возникла проблема, для гибкости настройки хотелось бы менять некоторые свойства NumericUpDown из редактора(например DecimalPlaces, имеется естественно редактор в диалоге добавления/редактирования колонки), как можно реализовать данную функцию?
Re[3]: DataGridView. Новый контрол в составе Framework 2.0.
От: Аноним  
Дата: 27.10.07 08:37
Оценка:
Здравствуйте, Smarty, Вы писали:

S>Здравствуйте, Max404.NET, Вы писали:


MN>>можно конечно использовать initialFormattedValue, оно предеётся нормально, но ведь это неправильно???


S>Да — это не очень красиво. По поводу ошибки — мало информации. Пример же из статьи работает? Значит смотрите — что меняли...

S>Или, если хотите, выкладывайте минимально-запускаемый код воспроизводящий ошибку — бум посмотреть...




Столкнулся с той же проблемой — решение банально.
Нужно внимательнее читать первую статью.
Скорее всего Grid у вас находится в виртуальном режиме. По этому получить что либо через this.Value невозможно.
Делай так- и все работает. Для виртуального режима — работает. для не виртуального не проверял. Думаю добавить if для проверки режима грида не сложно если нужда возникнет.

public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
{
base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);
//создаем свой контрол.
GVEnumComboBox oControl = this.DataGridView.EditingControl as GVEnumComboBox;
// В виртуально режие нет своей строки- по этому и передается в параметре.
this._heightOfRowBeforeEditMode = this.DataGridView.Rows[rowIndex].Height;
// по тем же причинам.
this.DataGridView.Rows[rowIndex].Height = oControl.Height;
//запоминаем в переменной- члене индекс строки чтобы потом восстановить высоту строки.
miRow = rowIndex;
// собственно вот так в виртуальном режиме получаем значение ячейки.
// this.Value — выбросит уже обозначенное вами исключение.
ICheckEnum eValue = this.GetValue(rowIndex) as ICheckEnum;
oControl.InitData(eValue);
}


Удачи!!!
Re: DataGridView. Новый контрол в составе Framework 2.0. Час
От: Шевченко Александр http://alexsoft.home.nov.ru
Дата: 25.05.08 10:40
Оценка:
Если запустить пример PassportEditControl.sln в VS2008, то при попытке сразу после запуска выбрать какое-то значение в "Серии" (н-р, 66) программа снимается.

PassportEdit.cs
private void OnValueChanged()
{
    this._valueChanged = true;
    this._psForEditSession.Series = (this._cb.SelectedItem == null ? string.Empty : this._cb.SelectedItem.ToString());
    this._psForEditSession.Number = (this._mskEdit.Text == null ? string.Empty : this._mskEdit.Text);
    this._psForEditSession.IssueDate = this._dtp.Value;
    DataGridView dgv = this.EditingControlDataGridView;
    if(dgv != null)
        dgv.NotifyCurrentCellDirty(true);
}


An unhandled exception of type 'System.NullReferenceException' occurred in PassportEditControl.dll

Additional information: Object reference not set to an instance of an object.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.