说明:我要实现,datagird中含有ComboBox的功能,同时ComboBox绑定数据表中内容。
现象:焦点离开cell的时候,ComboBox中选择的text没有赋值给cell,并显示。我先用DataSource,把表绑定到ComboBox
然后,在把ComboBox的text用DataBindings绑定到datagird这样的做法,会不会冲突,就是Text绑定不到datagird上了============把表绑定到ComboBox
if ( _ds.Tables.Count > 0 )
_temp.DataSource = _ds.Tables[0] ;  _temp.DisplayMember = "Name" ; 
_temp.ValueMember = "valueId" ; 
==========================
=============在把ComboBox的text用DataBindings绑定到datagird
cmb.Name = "cmb"+inDGTextBoxColumn.MappingName;
cmb.DropDownStyle = ComboBoxStyle.DropDown;
if ( null != inItem )
cmb.Items.AddRange( inItem );
cmb.Dock = DockStyle.Fill;
DataTable _dt = this.FDs.Tables[0] ; 
Binding _bind = new Binding( "Text" , _dt , inDGTextBoxColumn.MappingName ) ; 
cmb.DataBindings.Add( _bind );
cmb.KeyDown += new KeyEventHandler( this.cComboBox_KeyDown );
inDGTextBoxColumn.TextBox.Controls.Clear();
inDGTextBoxColumn.TextBox.Controls.Add( cmb );
inDGTextBoxColumn.TextBox.Tag = "1";
=====================

解决方案 »

  1.   

    假设combobox绑定的列表为DataSet2的ListTable表(含有ListID, ListName字段),需要绑定的记录字段为DataSet1的Table1表的ListID字段
    combobox.DataSource = dataset2.Tables["ListTable"];
    combobox.DisplayMember = "ListName";
    combobox.ValueMember   = "ListID";combobox.DataBindings.Add("SelectedValue", dataset1, "Table1.ListID");
      

  2.   

    应该将ComboBox中的SelectedItem.Text绑定到datagird
      

  3.   

    DataBindings是一般控件所具有的,是绑定数据源的某一个字段
    combobox.DataBindings.Add("要绑定控件的属性如下拉框的SelectedValue\Text", 数据源如dataset1, "导航路径如Table1.ListID");但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember 。所以,如果是下拉列表,你只想绑定一个字段,用DataBindings可以,想绑定两个字段用combobox.DataSource = 数据源;
    combobox.DisplayMember = 对应显示字段名;  
    combobox.ValueMember   = 对应存储字段名;不要同时用
      

  4.   

    TO: flygoldfish(长江支流) 除了combobox.DataSource = 数据源;
    combobox.DisplayMember = 对应显示字段名;  
    combobox.ValueMember   = 对应存储字段名;还要选中的信息,是吗?
      

  5.   

    绑定以后就可以了读取选中信息object val = combobox.SelectedValue;
    string txt = combobox.Text;
    SelectedIndex、SelectedItem表示选中了哪项目,也可以设置combobox.SelectedIndex = 0 或直接设置 combobox.SelectedValue = "一个已存在的值";或 combobox.Text = "一个已存在的文本";如果是绑定的,一定要设置的是一个在绑定在已存在的项。