Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UserControl -> DataGridView -> Columns / 25 сообщений из 54, страница 1 из 3
12.04.2006, 19:45
    #33662555
olegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl -> DataGridView -> Columns
Создаю на основе 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
12.04.2006, 21:08
    #33662745
olegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl -> DataGridView -> Columns
Ну вот дошел до того что бы добавить

[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
12.04.2006, 23:54
    #33662922
olegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl -> DataGridView -> Columns
Ну че, никто своих контролов с datagridview не делал ?
...
Рейтинг: 0 / 0
13.04.2006, 09:12
    #33663215
olegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl -> DataGridView -> Columns
Ну коллеги, ну плиз..........
...
Рейтинг: 0 / 0
13.04.2006, 18:28
    #33665495
olegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl -> DataGridView -> Columns
up
...
Рейтинг: 0 / 0
13.04.2006, 19:15
    #33665578
olegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl -> DataGridView -> Columns
Дык епрст... Это что глюк такой ? Нихрена себе "глючек" !!!!

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


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


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

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

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

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

Делал так

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

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

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


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