Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > проблемка с tabControl


Автор: shark1 24.9.2008, 21:36
Есть небольшая проблемка с tabControl.Проблема такая,на первый таб в датагрид загружается информация из db.Сдесь же имеется DataBindings.Теперь на 3 табе тоже загружается инфа из db,и тоже есть DataBindings.Но вот ошибка выподает когда я ухожу с 3 таба,а потом возвращаюсь.Пишет :
System.ArgumentException: This causes two bindings in the collection to bind to the same property.
Parameter name: binding
Как мне это побороть,как при переходе на другой таб,обрывать DataBindings.Зарание спасибо.

Автор: shark1 26.9.2008, 10:08
Подскажите плиззззз в чём ошибка.Сделал отдельно подклучение ,новый conn1,command1,adapter1,ds1,dataTable1.А всеравно когда ухожу с закладки и потом возвращаюсь пишет что :
System.ArgumentException: This causes two bindings in the collection to bind to the same property.
Parameter name: binding

подскажите плиззззззз,что надо исправить.Зарание спасибо.


Автор: informatik 26.9.2008, 11:40
Я думаю чтобы сказать что надо исправить, нужно видеть код....

Автор: shark1 26.9.2008, 18:46
Please code :

Код

private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
        {
            try
            {

                if (tabControl1.SelectedTab == tabPage3)
                {


                    conn1 = new OleDbConnection();
                    conn1.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Data\\Client_DB.mdb";
                    //Initialize adapter.
                    command1 = new OleDbCommand();
                    command1.Connection = conn1;
                    adapter1 = new OleDbDataAdapter(command1);
                    adapter1 = new OleDbDataAdapter("Select Category,CompanyName,ClientName,Address,City,Telephone,PostalCode from TBL_Clients", conn1);

                    //Initialize Dataset.
                    ds1 = new DataSet();
                    dataTable1 = ds1.Tables.Add("Clients");

                    //Fill dataset with ImagesStore table.
                    adapter1.Fill(ds1, "Clients");

                    //Fill Grid with dataset.                    
                    dataGridView2.DataSource = ds1.Tables["Clients"];
                    //dataGridView2.Columns["StatusImage"].Width = 40;


                    this.txt_CategoryMail.DataBindings.Add("Text", dataTable1, "Category", true, DataSourceUpdateMode.OnPropertyChanged);
                    this.txt_CompNameMail.DataBindings.Add("Text", dataTable1, "CompanyName", true, DataSourceUpdateMode.OnPropertyChanged);
                    this.txt_ClientNameMail.DataBindings.Add("Text", dataTable1, "ClientName", true, DataSourceUpdateMode.OnPropertyChanged);
                    this.txt_AddressMail.DataBindings.Add("Text", dataTable1, "Address", true, DataSourceUpdateMode.OnPropertyChanged);
                    this.txt_CytiProvMail.DataBindings.Add("Text", dataTable1, "City", true, DataSourceUpdateMode.OnPropertyChanged);
                    this.txt_TelMail.DataBindings.Add("Text", dataTable1, "Telephone", true, DataSourceUpdateMode.OnPropertyChanged);
                    this.txt_PCMail.DataBindings.Add("Text", dataTable1, "PostalCode", true, DataSourceUpdateMode.OnPropertyChanged);
                   
                    //dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
                    dataGridView2.DefaultCellStyle.WrapMode = DataGridViewTriState.True;

                    foreach (DataGridViewColumn column1 in dataGridView2.Columns) column1.SortMode = DataGridViewColumnSortMode.NotSortable;

                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

Автор: shark1 26.9.2008, 19:03
Все спасибо я разобрался,просто перед каждым txt дописал this.txt_CategoryMail.DataBindings.Clear();.И всё ,теперь все работает.Еще раз спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)