各位大哥大姐们。帮我看下 给点意见呀!就是我使用Linq绑定了一个combobox控件!绑定是成功了!但我想要的是怎么样才能让绑定好的combobox控件随时跟着数据库的增加或删除一起自动增加删除 !!就是想在winfrom中实现combobox控件跟着数据库的增删一起做增删。。始终保持着以数据表对应???

解决方案 »

  1.   

    当你有记录改动时,重新绑定下combobox的数据源
      

  2.   

    楼主可以去了解下 SqlDependency
      

  3.   

    有呀!我都有试着去重新绑定的 可还是能跟这更新呀?
     private void cbxIdfang()
            {
                cbxId.DataSource = dc.DiaryInfo;            cbxId.DisplayMember = "ID";
                cbxId.ValueMember = "ID";        } 
    我都在增加是或删除是都调用了呀!可都不行呀!
      

  4.   

    我发现数据库有更新过去!combobox控件设置的数据源也更新过去了可就是combobox控件都没变?
      

  5.   

    你们看下 我的代码:        DiaryManagerDataContext dc = new DiaryManagerDataContext();
            #region 增加事件
            /// <summary>
            /// 增加
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnSave_Click(object sender, EventArgs e)
            {
                DiaryInfo diar = new DiaryInfo();
                diar.Author = txtAuthor.Text;
                diar.Title = txtTitle.Text;
                diar.Content = txtContent.Text;
                //diar.CreateTime = DateTime.Now.ToString("yyyy-mm-dd");
                diar.CreateTime = Convert.ToDateTime("1989-9-9");            dc.DiaryInfo.InsertOnSubmit(diar);
                dc.SubmitChanges();
           // cbxId .SelectedIndex = -1;
                //cbxId.Items.Clear();
                //cbxId.DataSource = nothing;
               // cbxId.DataBindings.Clear();
                cbxIdfang();
            }  #region 下拉框绑定
            /// <summary>
            /// 下拉框绑定
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void frmMain_Load(object sender, EventArgs e)
            {            cbxIdfang();
            }        private void cbxIdfang()
            {
                cbxId.DataSource = dc.DiaryInfo;            cbxId.DisplayMember = "ID";
                cbxId.ValueMember = "ID";
               // cbxId.databind.clear();
             
            } 
            #endregion这样的呀!我在数据表中增加了一条数据 可在combobox里没有加呀?怎么回事??对不起 各位
      让你们烦恼了 不过还是请你们帮帮忙吧!!
      

  6.   

    看下代码 为什么运行后 增加了数据 combobox里没增加呀?
      

  7.   

    你拉个timer控件,隔段时间绑定一次就可以啦
      

  8.   

    我是想让用户点击增加按钮是 增加数据和更新combobox呀!。。
      

  9.   

     private void cbxIdfang()
      { DiaryManagerDataContext dcc = new DiaryManagerDataContext();  cbxId.DataSource = dcc.DiaryInfo;  cbxId.DisplayMember = "Author";
      cbxId.ValueMember = "ID";
      //这样在不行就是你数据没加到数据库
      }  
      

  10.   

    可以了 !谢谢大家。。
    在实例化一下表就行了 可我想问下
     zhlu880516
     
    (初吻给了烟) 为什么一开始用那原先共用的DiaryManagerDataContext dc = new DiaryManagerDataContext();
    就不行呢?怎么回事呀?