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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XtraGrid & DataTable 
:(
    Опции темы
Injener
Дата 4.5.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Имею такой код
Код

SqlConnection cn = new SqlConnection("...");
cn.Open();
string strSQL = "select * from tabGL";
SqlDataAdapter Adapter = new SqlDataAdapter(strSQL, cn);
DataTable dt = new DataTable();
Adapter.Fill(dt);

Как мне теперь полученую таблицу загнать в грид XtraGrig
Искал везде и даже тыком но  smile 
Приведите хотябы пару строчек примера
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
emmanuil
Дата 4.5.2007, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



grid.DataSourse = dt.DefaultView;

Этот грид случайно не под веб?
PM MAIL   Вверх
Injener
Дата 4.5.2007, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А можно ли менять содержимое ячеек грида вручную, без DataTable

Добавлено через 3 минуты и 4 секунды
И каким образом мне теперь изменять название колонок.
Если я названия меняю заранее, то этот пример не работает

Добавлено через 7 минут и 3 секунды
Есть где нибудь простенькая статейка по исп. XtraGrid?
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
emmanuil
Дата 4.5.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всмысле не работает????
Ты хочешь настроить в дизайнере?
Цитата(Injener @  4.5.2007,  10:28 Найти цитируемый пост)
Если я названия меняю заранее, то этот пример не работает 

заранее чего???

PM MAIL   Вверх
Injener
Дата 4.5.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В дизайнере я создаю 3 колонки, далее выполняю
Код

grid.DataSourse = dt.DefaultView;

Данные из таблиц не отображаются.
А надо изменить шапку таблицы, т.е. названия колонок
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
emmanuil
Дата 4.5.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну дык ты пропиши этим колонкам fieldName и все.
Я же спросил тебя, что за грид??? DevExpress???

Добавлено через 5 минут
Напиши конкретно, что ты хочешь сделать?
И код в студию!

Добавлено через 14 минут и 7 секунд
возможно, у тебя в sql-запросе стоит ' select * from ...'
В твоем случае так нельзя, нужно явно написать 'select my_col, ... from ...'
и тогда все заработает.

PM MAIL   Вверх
Injener
Дата 4.5.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да, DevExpress
Хочу, а точнее мне срочно надо, разобратся с этим гридом, и тем как он работает.
Более - конкретно мне надо читать таблицу из Adapter-a и вставлять ее в грид,
так чтобы некоторые поля отражались чекбоксами, а некоторые картинками, и разумеется чтоб все это нормально выглядело (например колонки имели осмысленные названия, а не имена полей)

Добавлено через 6 минут и 53 секунды
А вообще можно в этом гриде вручную добавлять строки и заполнять содержимое ячеек или только через ADO?
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
emmanuil
Дата 7.5.2007, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У-у-у, у этого крида такой функционал, я балдею просто! 
Если это DevExpess, то должен быть GridControl и GridView. Все действия по манипуляции вида и изменения данных проводятся в GridView. Там можно сделать gridView1.AddNewRow(); 
покапайся в его свойствах. У колонок есть свойство ColumnEdit посмотри его.
Зайди в дизайнер выбери колонку настрой, пропиши FieldName
Цитата

возможно, у тебя в sql-запросе стоит ' select * from ...'
В твоем случае так нельзя, нужно явно написать 'select my_col1, my_col2, ... from ...'
и тогда все заработает.

прочитай что я выше писал
PM MAIL   Вверх
mr.DUDA
Дата 7.5.2007, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Injener, в этом гриде всё через дизайнер настраивается - и колонки, и редакторы (чекбоксы и т.п.).


--------------------
user posted image
PM MAIL WWW   Вверх
Injener
Дата 7.5.2007, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



К примеру:
Код

            try
            {
                SqlConnection cn = new SqlConnection("server =(local); integrated " +
                    "security = SSPI; database = Exp");
                cn.Open();
                string strSQL = "select Customers.CustID, Customers.FirstName from Customers";
                SqlDataAdapter Adapter = new SqlDataAdapter(strSQL, cn);
                Adapter.Fill(dsGL);
                cn.Close();
                gcGL.DataSource = dsGL.Tables["Customers"].DefaultView;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка: " + ex.Message, "Error...", 
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

При этом в дизайнере экспресса я вродебы все настроил (Один вид MainView все колонки в нем в соответствии с таблицей которую читаю). При этом не происходит ни каких ошибок, но и не выводится ничего. (при том что в таблице строки есть.)
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
emmanuil
Дата 7.5.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

Adapter.Fill(dsGL, "Customers");
cn.Close();
gcGL.DataSource = dsGL.Tables["Customers"].DefaultView;

или
Код

Adapter.Fill(dsGL);
cn.Close();
gcGL.DataSource = dsGL.Tables[0].DefaultView;

Но лучше в этом случае используй не DataSet, а DataTable, 
экономичнее и проще!
PM MAIL   Вверх
Injener
Дата 7.5.2007, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



emmanuil, спасибо, с DataTable получилось

Допустим у меня теперь есть 2 тблицы связанные по какому-нибудь полю, как мне их загнать с пом. DataTable в в один грид и связать

Это сообщение отредактировал(а) Injener - 7.5.2007, 12:46
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
emmanuil
Дата 7.5.2007, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



если ты хочешь сделать master-detail, то тогда используй DataSet.
Вот примерно так:
Код

            SqlDataAdapter da1 = new SqlDataAdapter("select account_id, account_name from Accounts (nolock)", 
                Common.mainConnector.Connection);
            SqlDataAdapter da2 = new SqlDataAdapter("select account_id, group_id from AccountGroups (nolock)", 
                Common.mainConnector.Connection);

            DataSet ds = new DataSet();

            da1.TableMappings.Add("Table", "MasterTable");
            da1.Fill(ds);

            da2.TableMappings.Add("Table", "DetailTable");
            da2.Fill(ds);

            DataRelation dataRelation = new DataRelation("Master-Detail",
                ds.Tables["MasterTable"].Columns["account_id"], 
                ds.Tables["DetailTable"].Columns["account_id"]);

            ds.Relations.Add(dataRelation);

            gridControl1.DataSource = ds.DefaultViewManager;
            gridControl1.DataMember = "MasterTable";

Надеюсь разберешься. Это конечно можно все сделать без лишних объектов, но детально я думаю понятнее
PM MAIL   Вверх
Injener
Дата 7.5.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



emmanuil, СПАСИБО!!! smile 
Все практически получилось...

Это сообщение отредактировал(а) Injener - 7.5.2007, 14:21
--------------------
Любое дело можно сделать тремя способами:1) правильно2) неправильно3) и так как это делают в армии
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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