Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 Помогите! Данные из базы в СomboBoxы  [new]
ЕленаMC
Member

Откуда:
Сообщений: 147
Помогите плиз. Есть несколько комбобоксов. Облазила все форумы и в итоге нашла такой код по их заполнению:

     Dim strSelect As String = "SELECT * FROM mat"
        Dim AccessCommand As New MySql.Data.MySqlClient.MySqlCommand(strSelect, conn)
        Dim cmdBulder As MySql.Data.MySqlClient.MySqlCommandBuilder = New MySql.Data.MySqlClient.MySqlCommandBuilder(AccessDA)
        AccessDA.SelectCommand = AccessCommand
        AccessDA.InsertCommand = cmdBulder.GetInsertCommand
        AccessDA.Fill(AccessDS, "mat")

         ComboBox1.DataSource = AccessDS.Tables("mat")
         ComboBox1.ValueMember = "mat"
         ComboBox2.DataSource = AccessDS.Tables("mat")
         ComboBox2.ValueMember = "mat"
' и т.д.

У меня 2 вопроса:
1. Боксы заполняются, но при изменении значения одного, меняются значения во всех остальных на такие-же. Почему и как это исправить?
2. можно ли это дело как-то упростить? а то чувствую неправильно я это все дело сделала...
12 окт 09, 19:49    [7775325]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
ZeusTheTrueGod
Member

Откуда:
Сообщений: 849
Вам стоит перестать программировать.
Может тогда вы поймёте, что привязали две вьюшки к одной модельке

Ну как бы понятней объяснить - представьте, что вы к одной двери приделали две ручки. вы берёте ручку, дёргаете на себя - и надо же, вторая ручка движется вместе с первой! вы думаете, но как же так, какого х? Ну и здесь то же самое ^^
13 окт 09, 00:13    [7775905]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
ZeusTheTrueGod
Member

Откуда:
Сообщений: 849
И насчёт того, как это упростить - "Прошу уволить меня по собственному желанию, так как я не понимаю, что пишу, а на форуме мне ни хера не помогают. Дата. Подпись"
Либо же сделать клон таблицы и привязать его ко второму комбобоксу
13 окт 09, 00:16    [7775914]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
ЕленаMC
Member

Откуда:
Сообщений: 147
ZeusTheTrueGod,

Ну во-первых я и так знаю что не сильно понимаю в васике... я вообще-то дизайнером работаю ну и на пхп пишу. моих знаний вполне хватает. А это шеф сказал: "пиши". Программа в принципе не сложная и я ее уже практически написала, а вот с комбобоксами загвоздка.

А во вторых - я не просила анализировать мои способности в программировании. Не нравится - будь умным и промолчи как все остальные.
13 окт 09, 09:29    [7776371]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
simply_sash
Member

Откуда: Брест, Беларусь
Сообщений: 40
ЕленаMC
Помогите плиз. Есть несколько комбобоксов. Облазила все форумы и в итоге нашла такой код по их заполнению:

     Dim strSelect As String = "SELECT * FROM mat"
        Dim AccessCommand As New MySql.Data.MySqlClient.MySqlCommand(strSelect, conn)
        Dim cmdBulder As MySql.Data.MySqlClient.MySqlCommandBuilder = New MySql.Data.MySqlClient.MySqlCommandBuilder(AccessDA)
        AccessDA.SelectCommand = AccessCommand
        AccessDA.InsertCommand = cmdBulder.GetInsertCommand
        AccessDA.Fill(AccessDS, "mat")

         ComboBox1.DataSource = AccessDS.Tables("mat")
         ComboBox1.ValueMember = "mat"
         ComboBox2.DataSource = AccessDS.Tables("mat")
         ComboBox2.ValueMember = "mat"
' и т.д.

  ComboBox2.DataSource = AccessDS.Tables("mat")[color=red].DefaultView[/color]
13 окт 09, 10:46    [7776846]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
Диез
Member

Откуда: Столица Попозже.
Сообщений: 894
ЕленаMC,

Цепляйте каждый комбобокс через свой BindingSource

        BindingSource1.DataSource = AccessDS.Tables("mat")
        BindingSource2.DataSource = AccessDS.Tables("mat")

        ComboBox1.DataSource = BindingSource1
        ComboBox1.ValueMember = "mat"

        ComboBox2.DataSource = BindingSource2
        ComboBox2.ValueMember = "mat"
13 окт 09, 10:48    [7776870]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
simply_sash
Member

Откуда: Брест, Беларусь
Сообщений: 40
simply_sash
ЕленаMC
Помогите плиз. Есть несколько комбобоксов. Облазила все форумы и в итоге нашла такой код по их заполнению:

     Dim strSelect As String = "SELECT * FROM mat"
        Dim AccessCommand As New MySql.Data.MySqlClient.MySqlCommand(strSelect, conn)
        Dim cmdBulder As MySql.Data.MySqlClient.MySqlCommandBuilder = New MySql.Data.MySqlClient.MySqlCommandBuilder(AccessDA)
        AccessDA.SelectCommand = AccessCommand
        AccessDA.InsertCommand = cmdBulder.GetInsertCommand
        AccessDA.Fill(AccessDS, "mat")

         ComboBox1.DataSource = AccessDS.Tables("mat")
         ComboBox1.ValueMember = "mat"
         ComboBox2.DataSource = AccessDS.Tables("mat")
         ComboBox2.ValueMember = "mat"
' и т.д.

  ComboBox2.DataSource = AccessDS.Tables("mat")[color=red].DefaultView[/color]

Т.е. так (сори. хотел изменение красным выделить)
ComboBox2.DataSource = AccessDS.Tables("mat").DefaultView
13 окт 09, 10:50    [7776887]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
ЕленаMC
Member

Откуда:
Сообщений: 147
simply_sash,

Спасибо огромное.
13 окт 09, 10:59    [7776967]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
ZeusTheTrueGod
Member

Откуда:
Сообщений: 849
Прикольное решение, интересно узнать, как оно будет маштабироваться на три комбобокса ;)
13 окт 09, 11:10    [7777097]     Ответить | Цитировать Сообщить модератору
 Re: Помогите! Данные из базы в СomboBoxы  [new]
simply_sash
Member

Откуда: Брест, Беларусь
Сообщений: 40
ZeusTheTrueGod
Прикольное решение, интересно узнать, как оно будет маштабироваться на три комбобокса ;)

... и как через него mp3 прослушать

по условию задачи комбобокса два.
нужно больше? их есть у меня:
private void Form1_Load(object sender, EventArgs e)
{
    DataTable table = new DataTable("TestTable");
    table.Columns.Add("id",typeof(Int32));
    table.Columns.Add("text", typeof(String));
    
    DataRow row1 = table.NewRow();
    row1["id"] = 1;
    row1["text"] = "one";
    table.Rows.Add(row1);
    
    DataRow row2 = table.NewRow();
    row2["id"] = 2;
    row2["text"] = "two";
    table.Rows.Add(row2);
    
    DataRow row3 = table.NewRow();
    row3["id"] = 3;
    row3["text"] = "three";
    table.Rows.Add(row3);

    comboBox1.DataSource = new DataView(table);
    comboBox1.DisplayMember = "text";
    comboBox1.ValueMember = "id";

    comboBox2.DataSource = new DataView(table);
    comboBox2.DisplayMember = "text";
    comboBox2.ValueMember = "id";

    comboBox3.DataSource = new DataView(table);
    comboBox3.DisplayMember = "text";
    comboBox3.ValueMember = "id";
}


К сообщению приложен файл (cbBinding.rar - 35Kb) cкачать
13 окт 09, 14:29    [7778841]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить