Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataGrid, Как мне поменять Caption столбца 
:(
    Опции темы
Medved
Дата 1.11.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



Пример:
Код

  DataView dataView = dataSet.Tables[0].DefaultView;
  dataView.Table.Columns[0].Caption = "AAAAAAAAA"; //Так не работает
//  dataView.Table.Columns[0].ColumnName = "AAAAAAAAA"; //А так работает
  dataGrid.SetDataBinding(dataView,null);


Получается что грид отображает не свойство Caption объекта DataColumn а свойство ColumnName.
Но что-то здесь не так. Может быть кто-нибудь сможет мне объяснить, где собака зарыта?


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Kurt
Дата 1.11.2005, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 1
Всего: 36



Ну, ежели коротко:
тынц.




--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Medved
Дата 2.11.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



спасибо.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Hidrag
Дата 6.11.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 1
Всего: 25



Нифига! Сделал все также, но не работает!!!

Код

        public WinForm()
        {
            InitializeComponent();

            dataSet.ReadXml("data.xml");

            //Создаем экземпляр стиля столбца
            DataGridTextBoxColumn tbColumn = new DataGridTextBoxColumn();
            //Указываем имя столбца к которому будет применен этот стиль
            tbColumn.MappingName = "stolbec";
            //Указываем заголовок столбца
            tbColumn.HeaderText = "number";
            //И задаем необходимую ширину
            tbColumn.Width = 50;
            //Создаем стиль таблицы, добавляя к нему стиль столбца
            DataGridTableStyle tableStyle = new DataGridTableStyle();
            tableStyle.MappingName = "katalogname";
            tableStyle.GridColumnStyles.Add(tbColumn);
            //Добавляем вновь созданный стиль к DataGrid'у
            dataGrid1.TableStyles.Add(tableStyle);

            dataGrid1.SetDataBinding(dataSet,"katalog");
        }



...а все равно dataGrid отображает все по умолчанию, стиль добавлен, а изменений никаких! Может еще что то прописать нужно?


--------------------
user posted image
PM WWW ICQ   Вверх
Hidrag
Дата 10.11.2005, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 1
Всего: 25



Нашел я почему не привязывается стиль к гриду... оказывается нужно в tbColumn.MappingName указывать имя столбца из базы, а в tableStyle.MappingName имя таблицы, тогда работает все!


--------------------
user posted image
PM WWW ICQ   Вверх
CYBERDREAM
  Дата 31.8.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 1
Всего: 28



Не пашет хоть убей. 
Код

DataGridTextBoxColumn tbColumn = new DataGridTextBoxColumn(); 
tbColumn.MappingName = "juse"; 
tbColumn.HeaderText = "headerText"; 
tbColumn.Width = 100; 
            
DataGridTableStyle tableStyle = new DataGridTableStyle(); 
tableStyle.MappingName = "tt"; 
tableStyle.GridColumnStyles.Add(tbColumn); 
            
//Добавляем вновь созданный стиль к DataGrid'у 
dg.TableStyles.Add(tableStyle);
....
data=new DataTable();
da=new MySqlDataAdapter("SELECT * FROM tt",conn);
LogIn.cb=new MySqlCommandBuilder(LogIn.da);
LogIn.da.Fill(LogIn.data);
this.dg.DataSource=LogIn.data;

В итоге ни заголовок, ни ширина столбца не изменяется. 
Пробовал и через свойства грида добавлять стили, ноль на массу, абсолютно никаких действий. В чем может быть трабла? smile 


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Experimenter
Дата 31.8.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 3
Всего: 17



Вот это работает (VBNET)
Код

        Dim MyDGridTableStyle As DataGridTableStyle
        MyDGridTableStyle = New DataGridTableStyle
        MyDGridTableStyle.DataGrid = dgrResult 'ФИШКА НОМЕР РАЗ
        MyDGridTableStyle.MappingName = "tblDep"

        Dim dgc As dgTextBox        
        dgc = New dgTextBox("HeaderText", "MappingName", "null", 30) 'заменить на нужное
        MyDGridTableStyle.GridColumnStyles.Add(dgc)       

        dgrResult = New DataGrid
        dgrResult.Location = New Point(16, 112)
        dgrResult.ParentRowsVisible = False
        dgrResult.RowHeadersVisible = False
        dgrResult.RowHeaderWidth = 15
        dgrResult.Size = New Size(683, 328)
        dgrResult.TabIndex = 0
        dgrResult.TableStyles.Add(MyDGridTableStyle) 'ФИШКА НОМЕР ДВА
        dgrResult.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right
        Controls.Add(dgrResult)

диковатым кажется, стилю надо грид присвоить, а к гриду стиль добавить, но это уже за рамками моего понимания


Это сообщение отредактировал(а) Experimenter - 31.8.2007, 18:49


--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
CYBERDREAM
Дата 3.9.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 1
Всего: 28



Увы так и не захотело. Для проверки, меняю ширину столбцов, а они так и остаются с изначальной шириной. Значит трабла в том что не добавляется стиль к гриду, но делаю  вроде все верно. Может кто сталкивался с этим, уже ноль мыслей по этому поводу, а скоро проект надобно показать.



Это сообщение отредактировал(а) CYBERDREAM - 3.9.2007, 15:43


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
zaver
Дата 7.9.2007, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



Цитата

Получается что грид отображает не свойство Caption объекта DataColumn а свойство ColumnName.
Но что-то здесь не так. Может быть кто-нибудь сможет мне объяснить, где собака зарыта?

ну и что здесь удивительного?
PM MAIL WWW ICQ Skype YIM MSN   Вверх
CYBERDREAM
Дата 10.9.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 1
Всего: 28



Народ, может подскажите в чем трабла? 
Мне хотя бы ширину изменить, сверху и лэйблами можно будет прикрыть, не пойму почему стили не применяются 
Код

string connect=String.Format("server=localhost;user id=root;password=root;database=gn;pooling=false;charset=cp1251");
            conn=new MySqlConnection(connect);
            conn.Open();
            //---------------------------------------
            DataGridTableStyle tableStyle = new DataGridTableStyle(); 
            tableStyle.MappingName = "tt"; 
            tableStyle.DataGrid=dg;
            //
            DataGridColumnStyle tbColumn=new DataGridTextBoxColumn();
            tbColumn.MappingName="di1";
            tbColumn.HeaderText="HEQ";
            tbColumn.Width=300;
            tableStyle.GridColumnStyles.Add(tbColumn);
            //
            DataGridColumnStyle tbColumn1=new DataGridTextBoxColumn();
            tbColumn.MappingName="di2";
            tbColumn.HeaderText="HE2";
            tbColumn.Width=300;
            tableStyle.GridColumnStyles.Add(tbColumn1);
            //
            dg.TableStyles.Add(tableStyle);
            //---------------------------------------

            data=new DataTable();
            da=new MySqlDataAdapter("SELECT * FROM tt",conn);
            cb=new MySqlCommandBuilder(da);
            da.Fill(data);
            dg.DataSource=data;


Уже нет идей никаких, а надо срочно оченью

Добавлено через 5 минут и 9 секунд
Или дайте код работающего приложения. 
В прикрепленным выше посте, проект и бэкап базы, (MySql 5.0)

Это сообщение отредактировал(а) CYBERDREAM - 10.9.2007, 21:04

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  RFID_Projects.rar 93,04 Kb


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Experimenter
Дата 11.9.2007, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 3
Всего: 17



CYBERDREAM, показалось неправильным, что стили ты объявляешь не в конструкторе, а в загрузке формы. Попробуй изменить... Если в твою форму через дизайнер залезть, то там в свойствах грида никаких стилей не объявлено. В этом и бага, подумалось мне...


--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
zaver
Дата 11.9.2007, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



юзай DataGridView и никаких проблем, там намного больше возможностей чем DataGrid и к тому же он не лагает, не зря же DateGrid убрали из .Net Framework 2.0
PM MAIL WWW ICQ Skype YIM MSN   Вверх
Experimenter
Дата 11.9.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 3
Всего: 17



zaver, судя по скачанному примеру, у человека VS 2003 установлена.


--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
CYBERDREAM
Дата 13.9.2007, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 1
Всего: 28



да верно 2003 студия, с удовольствием воспользоввался бы 2005 (там в 2 шага делается переименование кэпшионов и многое другое в гридвью), но увы проект требует именно 2003.  Решил проблему след. способом, хотя может и коряво

Код


        private void Print_Load(object sender, System.EventArgs e)
        {
            panel2.Enabled=false;
            dtable=new DataTable("names");
            dtable.Columns.Add("epc",typeof(System.String));
            dtable.Columns.Add("doc",typeof(System.String));
            
            DataSet ds=new DataSet();
            ds.Tables.Add(dtable);
            _DG.SetDataBinding(ds,"names");
            AddTableStyle();
            AddData();

        }
        private void AddData()
        {
            dtable.Clear();
            MySql.Data.MySqlClient.MySqlDataReader reader=null;
            MySql.Data.MySqlClient.MySqlCommand cmd=new MySqlCommand("SELECT * FROM printlabel ",LogIn.conn);
            reader=cmd.ExecuteReader();
            while(reader.Read())
            {
                DataRow dRow = dtable.NewRow();

                dRow["epc"] = reader.GetString(0);
                dRow["doc"] = reader.GetString(1);

                
                dtable.Rows.Add(dRow);
            }
            dtable.AcceptChanges();

        }
        private void AddTableStyle()
        {
            DataGridTableStyle dgts=new DataGridTableStyle();
            dgts.MappingName="names";

            DataGridTextBoxColumn db=new DataGridTextBoxColumn();
            dgts.RowHeadersVisible=false;
            db.MappingName="epc";
            db.Alignment=HorizontalAlignment.Center;
            db.HeaderText="Метка №";
            db.Width=150;
            dgts.GridColumnStyles.Add(db);

            db=new DataGridTextBoxColumn();
            db.MappingName="doc";
            db.HeaderText="Код";
            db.Alignment=HorizontalAlignment.Center;
            db.Width=90;
            dgts.GridColumnStyles.Add(db);
            
            _DG.TableStyles.Add(dgts);
        }


 smile  всем спасибо

Это сообщение отредактировал(а) CYBERDREAM - 13.9.2007, 19:24


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.