[C#] 关于控件DataGridView的使用问题.

[C#] 关于控件DataGridView的使用问题.
我手动在datagridview上添加了几个列

其中有个combobox列,但是我不知道该怎么给这列的单元格(combobox)动态赋值。

不是绑定数据库中的数据。仅仅是动态赋值。

我在datagridview属性里面改不行。定义datagridviewcomboboxcell,赋值后添加到空间上也不行

知道的大虾教小弟一下,谢啦。
“不是绑定数据库中的数据。仅仅是动态赋值”,怎么理解?
如果是定义datagridviewcomboboxcell的话,那在dgv_CurrentCellChanged时间里写下,判断如果是combobox列的话,那就你定义的datagridviewcomboboxcell填充出蔽顷拿具,
比如: private void dgv_CurrentCellChanged(object sender, EventArgs e)
{
try
{
if (this.dgv.Columns[this.dgv.CurrentCell.ColumnIndex].HeaderText == "仓位")
{
if (this.dgv.CurrentCell.ReadOnly == true)
{
return;
}
Rectangle rect = dgv.GetCellDisplayRectangle(dgv.CurrentCell.ColumnIndex, dgv.CurrentCell.RowIndex, false);
string stockName = dgv.CurrentCell.Value.ToString();
if (stockName == "*")
{
ComstockPlace.Text = "宏搭*";
}
string FsockID = this.dgv.Rows[this.dgv.CurrentCell.RowIndex].Cells[this.dgv.CurrentCell.ColumnIndex + 1].FormattedValue.ToString();
BindeStockPlace(FsockID);
ComstockPlace.Left = rect.Left;
ComstockPlace.Top = rect.Top;
ComstockPlace.Width = rect.Width;
ComstockPlace.Height = rect.Height;
this.ComstockPlace.Visible = true;
}
else
{
ComstockPlace.Visible = false;
}
}
catch (Exception ex)
{

}
}
private void BindeStockPlace(string id)//填充数据
{
string sqlStockPlace = @" select T1.FItemID,T1.Fname,t2.FitemID as 仓位乎凳内码,t2.Fname as 仓位名 FROM B_stock t1
left join B_stockplace t2 on t1.FSPGroupID=t2.FGroupID where t1.FitemID='" + id + "'";
DataSet DS = base.GetDataSetFromSql(sqlStockPlace);
this.ComstockPlace.DataSource = DS.Tables[0];
this.ComstockPlace.ValueMember = "仓位内码";
this.ComstockPlace.DisplayMember = "仓位名";
this.dgv.Controls.Add(ComstockPlace);
this.ComstockPlace.DropDownStyle = ComboBoxStyle.DropDownList;
}
希望对你能有帮助
我也是刚学这个档闹猛,不知道能帮到你不。
DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn();
//插入到第一列
dataGridView1.Columns.Insert(0, comboBoxColumn);
//弯渣逐个加入item
comboBoxColumn.Items.Add("hello");
comboBoxColumn.Items.Add("world");
//一次加入多个items
comboBoxColumn.Items.AddRange("行桥hello1","world1");
你添加之后就会有这个列的实例 用名字就可访问,DataGridViewComboBoxColumn 项列表的属性是 Items 你可以循环添加项就行 如有必核链要 可以渗如先改喊孙清空下
← 上一篇: 下一篇: →