如何把ComboBox对象绑定到DataGrid的单元格
如何把ComboBox对象绑定到DataGrid的单元格
------解决方案--------------------		//初始化窗口 
 		private void Form1_Load(object sender, System.EventArgs e) 
 		{ 
 			//从数据库中读取一张表 
 			string sSql =  "select * from stuInfo "; 
 			DBManager db = new DBManager(); 
 			DataTable dt = db.QueryDT(sSql); 
 			//一定要该名子 
 			dt.TableName =  "学生表 "; 
 			this.dataGrid1.DataSource = dt;  	   
 			//创建一个DataDrid样式的对象 
 			DataGridTableStyle dgts = new DataGridTableStyle(); 
 			//让样式对象指向你要改的表 
 			dgts.MappingName =  "学生表 "; 
 			this.dataGrid1.TableStyles.Clear(); 
 			this.dataGrid1.TableStyles.Add(dgts); 
 			//得到你要修改样式的那一列 
 			DataGridColumnStyle dgcs = dgts.GridColumnStyles[ "stuSex "]; 
 			DataGridTextBoxColumn dgtc = (DataGridTextBoxColumn)dgcs;  			 
 			//创建一个ComboBox对象 并改变他的一些属性 
 			ComboBox cbx = new ComboBox(); 
 			cbx.Items.Add( "男 "); 
 			cbx.Items.Add( "女 "); 
 			cbx.Cursor = Cursors.Hand; 
 			cbx.Dock = DockStyle.Fill;  			 
 			//为ComboBox添加委托事件 
 			cbx.SelectionChangeCommitted+=new EventHandler(cbx_SelectionChangeCommitted);  			 
 			//取出那个单元格的文本框,并把ComboBox放在上面 
 			dgtc.TextBox.Controls.Clear(); 
 			dgtc.TextBox.Controls.Add(cbx); 
 			dgtc.ReadOnly = true;   
 			//为TextBox添加委托事件 
 			dgtc.TextBox.Enter +=new EventHandler(TextBox_Enter); 
 		}   
 		//当选中那个文本框是触发的事件处理方法 
 		public void TextBox_Enter(object sender, System.EventArgs e) 
 		{ 
 			TextBox txt = (TextBox)sender; 
 			string s = txt.Text; 
 			ComboBox cbx = (ComboBox)txt.Controls[0]; 
 			cbx.Text = s; 
 		}   
 		//当选中ComboBox中某一项时触发的时间 
 		private void cbx_SelectionChangeCommitted (object sender, System.EventArgs e) 
 		{ 
 			ComboBox cbx = (ComboBox)sender; 
 			string item = cbx.SelectedItem.ToString(); 
 			this.dataGrid1[this.dataGrid1.CurrentCell] = item; 
 		}   
 以上我没有做封装,可以把它写的再通用一点做一个封装