求教有关DataGrid问题 ( 积分: 50 )

  • 主题发起人 主题发起人 Binladen
  • 开始时间 开始时间
B

Binladen

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位老兄:
我有两个表:学生表,班级表
学生表结构如下:
编号(INT),姓名(VarChar(50)),班级(INT)
班级表结构如下:
编号(INT),名称(Varchar(20))
学生表中的班级字段与表班级的编号字段对应
我在DataGrid中如何用下拉框的形式显示学生的班级字段,修改后点击保存保存到学生表中?
谢谢
 
请问各位老兄:
我有两个表:学生表,班级表
学生表结构如下:
编号(INT),姓名(VarChar(50)),班级(INT)
班级表结构如下:
编号(INT),名称(Varchar(20))
学生表中的班级字段与表班级的编号字段对应
我在DataGrid中如何用下拉框的形式显示学生的班级字段,修改后点击保存保存到学生表中?
谢谢
 
先修改DataGrid的TableStyles属性,添加一个DataGridTableStyle,注意它的MappingName="学生表"
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet1,"学生表");
dataGrid1.DataMember="学生表";
dataGrid1.DataSource=dataSet1;
DataGridTextBoxColumn dgtb =
(DataGridTextBoxColumn)dataGrid1.TableStyles[0].GridColumnStyles[0];
ComboBox cmbFunctionArea = new ComboBox();
cmbFunctionArea.Items.AddRange(new object[]{"班级一","班级二","班级三"});//另外这里你可以动态从数据库读入得到
cmbFunctionArea.Cursor = Cursors.Arrow;
cmbFunctionArea.DropDownStyle= ComboBoxStyle.DropDownList;
cmbFunctionArea.Dock =do
ckStyle.Fill;
//在选定项发生更改并且提交了该更改后发生
cmbFunctionArea.SelectionChangeCommitted += new  EventHandler(cmbFunctionArea_SelectionChangeCommitted);
//把ComboBox添加到DataGridTableStyle的第一列
dgtb.TextBox.Controls.Add(cmbFunctionArea);


//把Combobox上修改的数据提交到当前的网格
private void cmbFunctionArea_SelectionChangeCommitted(object sender, EventArgs e)
{
  this.dataGrid1[this.dataGrid1.CurrentCell] = ((ComboBox)sender).SelectedItem.ToString();
}
 
谢谢,非常感谢,可是我怎样将修改保存到数据库中呢?
 
后退
顶部