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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HELP - DataGridView 
:(
    Опции темы
as90
Дата 30.5.2010, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет!
Возникла небольшая проблема с DataGridView...
Есть DataGridView, которая отображает SQL - таблицу:
user posted image
Как сделать чтоб я, например в comboBox выбрал имя, и в DataGridView отобразилась не вся таблица ,а только те строки где имя соответствует значению  comboBox
(SQL-запрос я уже написал, но не знаю как его применить к DataGridView) smile  smile 

Помогите пожалуйста!!!!!
PM MAIL   Вверх
AntonX
Дата 30.5.2010, 16:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Самый простой способ - использовать BindingSource в качестве DataSource таблицы.

Код

// инициализация
            BindingSource bindingSource = new BindingSource();
            bindingSource.DataSource = /// здесь указываем источник данных
            dataGridView1.DataSource = bindingSource;

все это можно и с редактора настроить



Код

// использование
 bindingSource.Filter = "Name = "+comboBox1.Text;

           

явные плюсы от BindingSource -  удобная организация навигации и связывания

Это сообщение отредактировал(а) AntonX - 30.5.2010, 16:18
PM MAIL ICQ   Вверх
as90
Дата 30.5.2010, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Большое спасибо!!!
Сдвинулся с мертвой точки))) smile 
Возник вопрос с фильтром:
В таблице которую мне надо вывести значения, Type в виде ключей, а мне именно по этому полю надо фильтровать...
Значения этих ключей находятся в другой таблице, я написал SQL - запрос:
Код

string cnstr = @"Initial Catalog=COMP2010;Data Source=COMP;User ID=sa;Password=1";
            SqlConnection con = new SqlConnection(cnstr);
            con.Open();
            SqlCommand cmd2 = new SqlCommand("select id from tbl_Type where Name=' "+comboBox.SelectedItem.ToString()+" ' ", con);

Этот запрос достает id типа и сравнивает с полем Type.

Вопрос, как полученное значение из SQL - запроса сравнить с фильтром????  
(пробовал   bindingSource.Filter = "Type = " + cmd2;   но выдает ошибку)
PM MAIL   Вверх
VirusUZ
  Дата 3.7.2010, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

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



Код

public static DataTable GetDataTable(SqlCommand cmd)
    {
        DataTable dt = new DataTable();
        using (SqlConnection cn = new SqlConnection(con_str()))
        {
            cmd.Connection = cn;
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(dt);
        }
        return dt;
    }


OR


Код

public static DataTable GetDataTable(string query)
    {
        DataTable dt = new DataTable();
        SqlDataAdapter sda = new SqlDataAdapter(query,con_str());
            sda.Fill(dt);
              return dt;
    }


***********************

Код

public static string con_str()
    { return "Data Source=jalol;Initial Catalog=abc;User ID=uid;Password=pwd"; }


*****************************

Код

public static void executeCommand(SqlCommand cmd)
    {
        using (SqlConnection cn = new SqlConnection(con_str()))
        {
            try
            {
                if (cn.State != ConnectionState.Open)
                {
                    cn.Open();
                }
                cmd.Connection = cn;
                cmd.ExecuteNonQuery();
            }
            catch (Exception e) { string s = e.ToString(); }
        }
    }


 smile 

Код


string keyword="...";
datagridview1.datasource=GetDataTable("select * from tname where ism like '%"+keyword+"%'");

datagridview1.Databind();  // для ASP.NET
Databind();                         // для ASP.NET


--------------------
Virus
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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