نمایش نتایج 1 تا 4 از 4

نام تاپیک: حرکت بین رکورد ها از طریق combobox

  1. #1

    حرکت بین رکورد ها از طریق combobox

    با سلام

    من دو جدول دارم که table1 دارای فیلدهای Id_city و city می باشد و جدول دوم هم که table2 باشد دارای فیلدهای Id_detail و Id_city و Village می باشد . و رابطه بین آنها هم one--->many است .
    با استفاده از یک دکمه به نام Next می خوام به رکورد بعدی بروم
    در رویداد form_load :


    string selectOrder="select * from table2";
    strConnection.Open();
    da=new SqlDataAdapter(selectOrder,strConnection);
    da.Fill(ds, "table2");
    textBox1.DataBindings.Add(new Binding("Text", ds.Tables["table2"], "village"));
    GetComboBoxName();


    و برای کامبوباکس :

    private void GetComboBoxName()
    {
    string Order = "select * from table1";
    SqlDataAdapter dacbx = new SqlDataAdapter(Order, strConnection);
    dacbx.Fill(ds, "table1");
    comboBox1.DataSource = ds.Tables["table1"];
    comboBox1.ValueMember = "ID_city";
    comboBox1.DisplayMember = "city";
    }

    و در رویداد دکمه next کلیک :

    if (this.manager.Position < this.manager.Count - 1)
    this.manager.Position += 1;

    که مشکل در بایند کرد این دو به طور همزمان می باشد . ضمنا manager یک آبجکت از BindingManagerBase است . برای حرکت بین رکورد ها مشکل دارم . لطفا راهنمایی کنید .
    با تشکر

  2. #2
    پیشنهاد : شما باید برای اینکه حرکت کنید بین رکوردها از روش DataBindig نباید استفاده کنید. من خودم همیشه یک تابع MoveRecord درست می کنم آن وقت هر وقت خواستم حرکت کنم بین رکوردها از این تابع استفاده میکنم که یک مقدار ورودی Int دارد این جوری شما می توانید هرچه را که دوست داشتید به مقدار TextBix, ComboBox بدهید. الان هم شما می توانید چنین چیزی داشته باشید:
    privete void MoveRecord(int row)
    {
    txt.text=DataSet.TableName.Rows[row]["NameColumn"].ToSting();
    }

    اما برای Combo شما می توانید DataSorceو DispalyNameو DisplayeValue را Set کنید سپس برای حرکت بین رکوردها از SelectedValue استفاده کنید.
    Cmd.SelectedValue=Dataset.TableName.Rows[Row]["ColumnName"]
    که فکر کنم باید Cast هم کنید

  3. #3
    لطفا کمی بیشتر توضیح دهید !...

  4. #4
    کاربر دائمی آواتار Sorenaa_s
    تاریخ عضویت
    اردیبهشت 1386
    سن
    45
    پست
    115


    private DataTable _table;
    private SqlConnection strConnection = null;
    private void Form1_Load(object sender, System.EventArgs e)
    {
    string selectOrder="select * from table2";
    strConnection.Open();
    SqlDataAdapter da = new SqlDataAdapter(selectOrder,strConnection);
    _table= new DataTable();
    da.Fill( _table );
    GoToRecord(0);
    }
    private void _btnNext_Click(object sender, System.EventArgs e)
    {
    if( textBox1.Tag == null )
    GoToRecord(0);
    else
    GoToRecord( ((int)textBox1.Tag) + 1 );
    }
    private void _btnBack_Click(object sender, System.EventArgs e)
    {
    if( textBox1.Tag != null )
    GoToRecord( ((int)textBox1.Tag) - 1 );
    }
    private void GoToRecord( int index )
    {
    if( index > _table.Rows.Count || index < 0 )
    return;
    textBox1.Text = _table.Rows[ index ]["city"].ToString();
    textBox1.Tag = index;
    int CityID = int.Parse( _table.Rows[ index ]["Id_city"].ToString() );
    string Order = "select * from table1 Where Id_city = " + CityID;
    SqlDataAdapter dacbx = new SqlDataAdapter( Order, strConnection );
    DataTable dt = new DataTable();
    dacbx.Fill(dt);
    listBox1.DataSource = dt;
    listBox1.ValueMember = "ID_city";
    listBox1.DisplayMember = "city";
    }


تاپیک های مشابه

  1. بایند کردن combobox
    نوشته شده توسط Mrs.Net در بخش C#‎‎
    پاسخ: 12
    آخرین پست: جمعه 06 مهر 1386, 12:09 عصر
  2. اضافه کردن ایتم به combobox
    نوشته شده توسط jafari_m246 در بخش C#‎‎
    پاسخ: 9
    آخرین پست: چهارشنبه 17 مرداد 1386, 16:42 عصر
  3. مشکل دوم ComboBox
    نوشته شده توسط lililili در بخش Access
    پاسخ: 8
    آخرین پست: سه شنبه 19 تیر 1386, 10:22 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •