powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Combobox
25 сообщений из 51, страница 1 из 3
Combobox
    #39163527
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут гуру поживее)
Ну никак не пойму, почему не отображает данные в Combobox1 из метода combo1() ? ну а Combo(2) уже вытекающее из 1 ...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
 public partial class Window1 : Window
    {
        SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=AdventureWorks2012;Persist Security Info=True;User ID=sa;Password=Password11");
           
           public Window1()
        {
            InitializeComponent();   
        }      
        
        private void combo1()
        {
                Combobox1.Items.Clear();
                SqlCommand cmd = new SqlCommand("SELECT * FROM master.dbo.sysdatabases", con);
                con.Open();
                SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Combobox1.Items.Add(dr["Name"].ToString());
                    
                }
               
                con.Close();
            }                      
        
        }

        private void combo2()
        {
                Combobox2.Items.Clear();
                SqlCommand cmd1 = new SqlCommand("select * from information_schema.tables where table_catalog = '" + Combobox1.SelectedItem.ToString() + "'", con);
                con.Open();
                SqlDataReader dr = cmd1.ExecuteReader();
            if(dr.HasRows)
            {
                while (dr.Read())
                {
                    Combobox2.Items.Add(dr["table_name"].ToString());
                }
               
                con.Close();

            }          

        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
        
        }
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            combo1();
        } 
        private void Combobox2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            combo2();
        }
    }
...
Рейтинг: 0 / 0
Combobox
    #39163596
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так суть вопроса меняется:
Как передать из combo1() в combo2() переменную Combobox1.SelectedItem.ToString()?
как только не пробовал, и просто так указывать, и в отдельном методе и через глобальную переменную, возвращает всегда null , хоть ты тресни....
...
Рейтинг: 0 / 0
Combobox
    #39163696
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все тлен, используй bindingsource для прицепления данных к комбе
...
Рейтинг: 0 / 0
Combobox
    #39163719
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallarisвсе тлен, используй bindingsource для прицепления данных к комбе

А лучше сторонние компоненты, к которым напрямую цепляешь источник данных. Не говорят уже что ADO.NET это где-то из 20 века.
...
Рейтинг: 0 / 0
Combobox
    #39163862
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blestPallarisвсе тлен, используй bindingsource для прицепления данных к комбе

А лучше сторонние компоненты, к которым напрямую цепляешь источник данных. Не говорят уже что ADO.NET это где-то из 20 века.

данунах

NET Framework
Initial release: 13 February 2002

А те сторонние компоненты и и сточники данных что используют вместо ADO.NET?
...
Рейтинг: 0 / 0
Combobox
    #39163867
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhА те сторонние компоненты и и сточники данных что используют вместо ADO.NET?

Кстати да, не приведена альтернатива. Что, в каждую лабораторку теперь EF пихать, штоле?
...
Рейтинг: 0 / 0
Combobox
    #39163872
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как передать из combo1() в combo2() переменную Combobox1.SelectedItem.ToString()?
...
Рейтинг: 0 / 0
Combobox
    #39163875
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mishanya3624Как передать из combo1() в combo2()

Это что, конструкторы без параметров? Тогда нужно инжектить депенденси!
...
Рейтинг: 0 / 0
Combobox
    #39163880
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris,
нужно передать ww1, всеми магиями пользовался, никак...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
     private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string  ww1 = Combobox1.SelectedItem.ToString();
            return;
        }
        private void combo2()
        {
           
            SqlConnection con2 = new SqlConnection("Data Source=192.168.1.114;Initial Catalog= " + ww1 + ";Persist Security Info=True;User ID=sa;Password=Password1");
            Combobox2.Items.Clear();
            SqlCommand cmd1 = new SqlCommand("select * from information_schema.tables ", con2);
            con2.Open();
            SqlDataReader dr = cmd1.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Combobox2.Items.Add(dr["table_name"].ToString());
                }

                con2.Close();

            }
        //    MessageBox.Show();
        }
...
Рейтинг: 0 / 0
Combobox
    #39163895
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробуй так
mishanya3624
Код: c#
1.
            string  ww1 = Combobox1.Items[Combobox1.SelectedIndex].ToString();



Ну и точку останова ставь в проблемной точке, и потом раскрывай объект Combobox1 и изучай до посинения, как добраться до нужного свойства. Так лечится 90% багов.
...
Рейтинг: 0 / 0
Combobox
    #39163916
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris,

Да в том то и дело, если я например напишу :
Код: c#
1.
2.
3.
4.
5.
  private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string  ww1 = Combobox1.SelectedItem.ToString();
           Messagebox.Show(ww1);
        }


то все показывает, что надо.
я не могу именно из этого метода private void ComboBox_SelectionChanged() отдать переменную в private void combo2()
...
Рейтинг: 0 / 0
Combobox
    #39163927
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mishanya3624я не могу

Ты серьезно штоле?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
void combo1()
{
     combo2(ww1);
}

void combo2(string value)
{
     Messagegox.Show(value);
}
...
Рейтинг: 0 / 0
Combobox
    #39163978
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris,

или лыжи едут, или я уже совсем плохой...как ww1 передать, ну по всякому уже передавал и как вы и как волшебники из изумрудного города и как синхрофазатронный ионизатор диодного преобразования спектра.....
он постоянно ругается, что не знает такого параметра...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string  ww1 = Combobox1.SelectedItem.ToString();
            return;
        }
        private void combo2()
        {
           
            SqlConnection con2 = new SqlConnection("Data Source=192.168.1.114;Initial Catalog= " + ww1 + ";Persist Security Info=True;User ID=sa;Password=Password1");
            Combobox2.Items.Clear();
            SqlCommand cmd1 = new SqlCommand("select * from information_schema.tables ", con2);
            con2.Open();
            SqlDataReader dr = cmd1.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Combobox2.Items.Add(dr["table_name"].ToString());
                }

                con2.Close();

            }
       
        }
...
Рейтинг: 0 / 0
Combobox
    #39163980
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
         private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            combo2(Combobox1.SelectedItem.ToString());
            return;
        }
        private void combo2(string  ww1)
        {
           
            SqlConnection con2 = new SqlConnection("Data Source=192.168.1.114;Initial Catalog= " + ww1 + ";Persist Security Info=True;User ID=sa;Password=Password1");
            Combobox2.Items.Clear();
            SqlCommand cmd1 = new SqlCommand("select * from information_schema.tables ", con2);
            con2.Open();
            SqlDataReader dr = cmd1.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Combobox2.Items.Add(dr["table_name"].ToString());
                }

                con2.Close();

            }
       
        }
...
Рейтинг: 0 / 0
Combobox
    #39163985
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
так тоже пробовал, но..
так не могу иначе у меня метод combo2() не инициализируется в окне :
Код: c#
1.
2.
3.
4.
5.
6.
7.
      public Window1()
        {
            InitializeComponent();
            combo1();
            combo2();
            
        }
...
Рейтинг: 0 / 0
Combobox
    #39163989
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что должно быть при вашей инициализации?
задайте начальное значение

Код: c#
1.
2.
3.
4.
5.
6.
7.
      public Window1()
        {
            InitializeComponent();
            combo1();
            combo2("mybase");
            
        }
...
Рейтинг: 0 / 0
Combobox
    #39163991
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
      public Window1()
        {
            InitializeComponent();
            combo1();
            combo2(Combobox1.SelectedItem.ToString());
            
        }
...
Рейтинг: 0 / 0
Combobox
    #39163994
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisWinnipuhА те сторонние компоненты и и сточники данных что используют вместо ADO.NET?

Кстати да, не приведена альтернатива. Что, в каждую лабораторку теперь EF пихать, штоле?

Ну ADO.NET же пихают, в чем проблема EF туда же.

Сторонние компоненты могут использовать что угодно в качестве источника, я например использую IEnumerable<T>.
...
Рейтинг: 0 / 0
Combobox
    #39163998
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mishanya3624,

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

Сначала подумай, что тебе нужно, а потом код пиши. Наоборот не получится.
...
Рейтинг: 0 / 0
Combobox
    #39164003
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Так как раз в этом и суть, что это значение должно приходить из combobox1 в который вываливаются значения из другого запроса, а не вписать статику:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
 public Window1()
        {
            InitializeComponent();
            combo1();
            combo2();
            
        }


        private void combo1()
        {
          
            Combobox1.Items.Clear();
            SqlCommand cmd = new SqlCommand("SELECT * FROM master.dbo.sysdatabases", con);
            con.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    
                    Combobox1.Items.Add(dr["Name"].ToString());
                    
                }
               
                con.Close();
            }

        }
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string ww1 = Combobox1.SelectedItem.ToString();
            
        }
   
        public void combo2()
        {
          
            SqlConnection con2 = new SqlConnection("Data Source=192.168.1.114;Initial Catalog= " + ww1 + ";Persist Security Info=True;User ID=sa;Password=Password1");
            Combobox2.Items.Clear();
            SqlCommand cmd1 = new SqlCommand("select * from information_schema.tables ", con2);
            con2.Open();
            SqlDataReader dr = cmd1.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Combobox2.Items.Add(dr["table_name"].ToString());
                }

                con2.Close();

            }
        
        }
  

        private void Button_Click(object sender, RoutedEventArgs e)
        {

        }
            

        private void Combobox2_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
        {
          
        }
...
Рейтинг: 0 / 0
Combobox
    #39164005
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Да, вы правы, сначала дождаться выбора базы.
...
Рейтинг: 0 / 0
Combobox
    #39164008
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mishanya3624Так как раз в этом и суть, что это значение должно приходить из combobox1 в который вываливаются значения из другого запроса, а не вписать статику:
[/src]

Это должно войти в учебники как "Парадокс Мишани"
...
Рейтинг: 0 / 0
Combobox
    #39164014
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mishanya3624Shocker.Pro,

Да, вы правы, сначала дождаться выбора базы.И? Так какого фига ты пытаешься подключиться к базе ДО этого? Действительно парадокс ))
...
Рейтинг: 0 / 0
Combobox
    #39164017
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж, с такой логикой как у ТС не поспоришь =)
...
Рейтинг: 0 / 0
Combobox
    #39164022
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Комрады, логика ясна изначальна была:)
а вот реализация подвела, ибо своим скудным серым веществом не пойму, как тогда дождаться выбора базы в комб1?
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 1 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Combobox
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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