我把DataGridView中的一列设置为了DataGridViewComboBoxColumn 然后在代码中给它赋值下面是代码: /// <summary>
/// 绑定 选择的设备
/// </summary>
private void Bgrid()
{
dt_Ngrid = new DataTable(); dt_Ngrid.Columns.Add("NumberY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("NameY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("ModleY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("FactoryY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("IdY", Type.GetType("System.String")); for (int i = 0; i < dt_Selected.Rows.Count; i++)
{
DataRow dr = dt_Ngrid.NewRow(); dr["NumberY"] = dt_Selected.Rows[i]["NumberY"].ToString();
dr["ModleY"] = dt_Selected.Rows[i]["ModleY"].ToString();
dr["FactoryY"] = dt_Selected.Rows[i]["FactoryY"].ToString();
dr["NameY"] = dt_Selected.Rows[i]["NameY"].ToString();
dr["IdY"] = dt_Selected.Rows[i]["IdY"].ToString(); dt_Ngrid.Rows.Add(dr);
}
dataGridView1.DataSource = dt_Ngrid;
BgirdComboBox();
}
/// <summary>
/// 绑定 ComboBox
/// </summary>
private void BgirdComboBox()
{
DataTable dt_com = new DataTable();
dt_com.Columns.Add("Unit", Type.GetType("System.String")); DataRow dr = dt_com.NewRow();
dr["Unit"] = "个";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "台";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "套";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "包";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "箱";
dt_com.Rows.Add(dr); DataGridViewComboBoxCell cbc;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
cbc = (DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells["Unit"];
cbc.DisplayMember = "Unit";
cbc.DataSource = dt_com.DefaultView;
}
}但是数据没有绑定上!!!求教!
/// 绑定 选择的设备
/// </summary>
private void Bgrid()
{
dt_Ngrid = new DataTable(); dt_Ngrid.Columns.Add("NumberY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("NameY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("ModleY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("FactoryY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("IdY", Type.GetType("System.String")); for (int i = 0; i < dt_Selected.Rows.Count; i++)
{
DataRow dr = dt_Ngrid.NewRow(); dr["NumberY"] = dt_Selected.Rows[i]["NumberY"].ToString();
dr["ModleY"] = dt_Selected.Rows[i]["ModleY"].ToString();
dr["FactoryY"] = dt_Selected.Rows[i]["FactoryY"].ToString();
dr["NameY"] = dt_Selected.Rows[i]["NameY"].ToString();
dr["IdY"] = dt_Selected.Rows[i]["IdY"].ToString(); dt_Ngrid.Rows.Add(dr);
}
dataGridView1.DataSource = dt_Ngrid;
BgirdComboBox();
}
/// <summary>
/// 绑定 ComboBox
/// </summary>
private void BgirdComboBox()
{
DataTable dt_com = new DataTable();
dt_com.Columns.Add("Unit", Type.GetType("System.String")); DataRow dr = dt_com.NewRow();
dr["Unit"] = "个";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "台";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "套";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "包";
dt_com.Rows.Add(dr); dr = dt_com.NewRow();
dr["Unit"] = "箱";
dt_com.Rows.Add(dr); DataGridViewComboBoxCell cbc;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
cbc = (DataGridViewComboBoxCell)dataGridView1.Rows[i].Cells["Unit"];
cbc.DisplayMember = "Unit";
cbc.DataSource = dt_com.DefaultView;
}
}但是数据没有绑定上!!!求教!
dataGridView1.DataBind();试一下还有一点
dt_Ngrid.Columns.Add("NumberY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("NameY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("ModleY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("FactoryY", Type.GetType("System.String"));
dt_Ngrid.Columns.Add("IdY", Type.GetType("System.String"));
这几句代码可以用一句话完成
查询此表的空表头,返回dt
DataRow dr = dt.NewRow();不知我这样说你能不能明白