我正在开发一个WinForm
应用。在我的应用程序中,有一个DataGridView
控件绑定到一个DataTable
对象。现在,我想在其中的一个特定列中显示用户ProgressBar
,但我想仅使用DataTable
对象执行此操作。我试过这个,但似乎没什么作用
dataGridView1.DataSource = dataTable;
DataColumn dc = new DataColumn("string", typeof(string));
DataColumn dc2 = new DataColumn("Progress", typeof(ProgressBar));
dataTable.Columns.Add(dc);
dataTable.Columns.Add(dc2);
DataRow dr = dataTable.NewRow();
dr[0] = 1;
ProgressBar p = new ProgressBar();
p.Value = 35;
dr[1] = p;
dataTable.Rows.Add(dr);
也许我在做什么是错的。还有其他方法可以实现吗?
答案 0 :(得分:0)
请尝试以下代码:
DataTable _table = (dataGridView1.DataSource as DataTable);
DataColumn dc = new DataColumn("string", typeof(string));
DataColumn dc2 = new DataColumn("Progress", typeof(ProgressBar));
_table.Columns.Add(dc);
_table.Columns.Add(dc2);
DataRow dr = _table.NewRow();
dr["string"] = 1;
ProgressBar p = new ProgressBar();
p.Value = 35;
dr["Progress"] = p;
_table.Rows.Add(dr);
使用ColumnName
instate使用ColumnIndex
在DataRow中插入值。
请检查this link以在DGV单元格中创建ProgressBar
。