powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UserControl -> DataGridView -> Columns
25 сообщений из 54, страница 1 из 3
UserControl -> DataGridView -> Columns
    #33662555
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаю на основе UserControl свой компонент (класс)
в нем есть DataGridView

в коде есть
....

[Category("User control")]
public System.Windows.Forms.DataGridView DataGridView
{ get { return this.dataGridView1;} }
....

вобщем в дальнейшем, при использовании своего класса
я получаю доступ ко всем свойствам DataGridView
прямо из Properties кроме колекции columns

при попытке редактировать колекцию получаю

---------------------------
Microsoft Visual Studio
---------------------------
Object reference not set to an instance of an object.
---------------------------
ОК
---------------------------


Как с этим бороться ?...
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33662745
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот дошел до того что бы добавить

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Category("User control")]
public DataGridViewColumnCollection Columns
{
get { return dataGridView1.Columns; }
set { columns = value; }
}


Дык теперь при редактирования свойства Columns
другое вываливает

---------------------------
Microsoft Visual Studio
---------------------------
At least one of the DataGridView control's columns has no cell template.
---------------------------
ОК
---------------------------


Ну не ужели никто UserControl с DataGridView не создавал ?
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33662922
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну че, никто своих контролов с datagridview не делал ?
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33663215
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну коллеги, ну плиз..........
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33665495
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33665578
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык епрст... Это что глюк такой ? Нихрена себе "глючек" !!!!

http://]www.gotdotnet.ru/Forums/Windows/244023.aspx
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33665964
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значица класс неинициализирован почему-то. Разбирайся. Кстате в VS 2003 никакого DataGridView нету.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33665979
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторpublic System.Windows.Forms.DataGridView DataGridViewЧе, нельзя было назвать както иначе? Так скоро начнем на резирвированные слова переходить, типа
Код: plaintext
1.
2.
3.
4.
5.
6.
public string string
{
  get
  {
     return string;
  }
}
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666052
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по существу можно ?
Лень мне на форуме разрисовывать все, но если кому-то от этого легче плиз
кусок с оригинала...


[Category("DataGridProperties")]
public System.Windows.Forms.DataGridView SalesDataGridView
{ get { return this.salesdataGridView;} }


только суть здесь вроде не в том совсем..........
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666054
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterЗначица класс неинициализирован почему-то. Разбирайся. Кстате в VS 2003 никакого DataGridView нету.

Да все там инициализировано. В 2003 есть DataGrid с которым таже песня. Правда стили там получается создать, только вот коллекция столбцов в стиле не сохраняется, но возможно это можно решить если вынести стили в пропертиес отдельно. Не пробовал, да она (DataGrid) мне и ненужна как бы. В 2005 DataGridView используется вместо DataGrid.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666234
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666254
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegovup
В хмл кидай изменения, при открытии считывай.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666279
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.. это не серьезно.... Речь идет о создании серьезного компонента, на котором базируется чуть-ли не 80-90% интерфейса работы с данными в программе. В классе присутствует не только DataGridView, а до черта всего.

Здесь вопрос такой - это действительно глюк студии ? или еще страшнее (как утверждается на некоторых форумах) так оно и должно быть. Если это так то MS откровенно и бессовестно продает бета-версию (если не хуже) чего-то....
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666284
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegovНет.. это не серьезно.... Речь идет о создании серьезного компонента, на котором базируется чуть-ли не 80-90% интерфейса работы с данными в программе. В классе присутствует не только DataGridView, а до черта всего.

Здесь вопрос такой - это действительно глюк студии ? или еще страшнее (как утверждается на некоторых форумах) так оно и должно быть. Если это так то MS откровенно и бессовестно продает бета-версию (если не хуже) чего-то....
Гы. Юзай 2003.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666297
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2003 для WinForms+Базы данных ваще не годится. Эт более менее серьезный проект можно всю жизнь ручками колбасить, а потом еще внуки и дети будут баги вылавливать.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666345
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegov2003 для WinForms+Базы данных ваще не годится. Эт более менее серьезный проект можно всю жизнь ручками колбасить, а потом еще внуки и дети будут баги вылавливать.
Гм. Не уверен.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666387
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит серьезного ничего не писал. Адназначна не годится.
Эт не значит, что нельзя сделать. Сделать можно, но прилагаемые усилия того не стоят.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666391
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegovЗначит серьезного ничего не писал. Адназначна не годится.
Эт не значит, что нельзя сделать. Сделать можно, но прилагаемые усилия того не стоят.
Гы. Адназначно прикланяюсь перед магистром кодинга.
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666763
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет... Я не наезжаю. Мы пишем всякие программки для торговли, бухгалтерии и т.д. На нектороых проектах база данных MS SQL занимает по 20-30 Gb. Соответсвенно форм де черта и т.д. Я далеко не гуру. Просто думаю что раз с такими вещами не сталкивались, то серьезные финансовые системы не писали. Вот и все...
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33666894
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не ужели никто не сталкивался. Вопрос жизни и смерти. В других языках решается в два прихлопа, не ужели здесь такая проблема ?
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33667034
Фотография Alkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему вы не хотите реализовать все необходимые изменения грида в том числе действия с коллекцией столбцов через public методы контрола?
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33667066
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хочу как угодно, лишь бы каждый раз не прописывать столбцы вручную..

Делал так

Эт для всего грида

[Category("User control")]
public System.Windows.Forms.DataGridView GridViewProp
{ get { return this.dataGridView1;} }

Это для коллекции столбцев

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Category("User control")]
public DataGridViewColumnCollection ColumnsProp
{
get { return dataGridView1.Columns; }
set { columns = value; }
}


Ввиду отсутсвия опыта другие решения на ум не приходят...
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33667075
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сори, там
строка set { columns = value; } не из той оперы, это уже экспериментирую сижу..
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33667099
Фотография Alkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всмысле каждый раз?
...
Рейтинг: 0 / 0
UserControl -> DataGridView -> Columns
    #33667168
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного предыстории..

Я делаю компонент (класс и т.д.) в составе котрого есть DataGridView. Естественно в классе столбцы никак не определны. Потом этот класс будет использоваться для форм просмотра справочников, журналов и т.д.
Состав столбцов должен определяться уже в формах, в которых используется данный клас.

В примитиве имею следующее

----- Содержимое UserControl1.Designer.cs -------


namespace WindowsApplication2
{
partial class UserControl1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Component Designer generated code

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.dataGridView1 = new System.Windows.Forms.DataGridView();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.Size = new System.Drawing.Size(384, 231);
this.dataGridView1.TabIndex = 0;
//
// UserControl1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.dataGridView1);
this.Name = "UserControl1";
this.Size = new System.Drawing.Size(384, 231);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);

}

#endregion

public System.Windows.Forms.DataGridView dataGridView1;
}
}


------ Содержимое UserControl1.cs --------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication2
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Category("User control")]
public System.Windows.Forms.DataGridView GridViewProp
{ get { return this.dataGridView1; } }


[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Category("User control")]
public DataGridViewColumnCollection ColumnsProp
{ get { return dataGridView1.Columns; } }

}
}



Если теперь я этот класс кидаю на форму то все свойства GridViewProp мне доступны и нормально редактируются, но в коллекцию Columns не пускает:


---------------------------
Microsoft Visual Studio
---------------------------
Object reference not set to an instance of an object.
---------------------------
ОК
---------------------------


С другой стороны ColumnProp то же доступен, но добавлять столбцы не дает

---------------------------
Microsoft Visual Studio
---------------------------
At least one of the DataGridView control's columns has no cell template.
---------------------------
ОК
---------------------------


Что тут не так ?
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 1 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UserControl -> DataGridView -> Columns
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]