111,117
社区成员




private DataTable m_dataSource;
public new DataTable DataSource
{
set { m_dataSource = value; }
}
public void DataBind()
{
this.Rows.Clear();
this.Columns.Clear();
///
///添加表头
///
for (int i = 0; i < m_dataSource.Columns.Count; i++)
{
DataGridViewColumn column = new DataGridViewTextBoxColumn();
column.HeaderText = m_dataSource.Columns[i].ColumnName;
this.Columns.Add(column);
}
for (int j = 0; j < m_dataSource.Rows.Count; j++)
{
//添加一行
DataGridViewRow collapseRow = new DataGridViewRow();
DataGridViewTextBoxCell cell;
//此处代码是有缺陷的,因为我直接把表中的每个字段绑定到DataGridViewTextBoxCell类型,
//不能接受用户设置来生成类型,比如DataGridViewComboBoxColumn等
for (int i = 0; i < m_dataSource.Columns.Count; i++)
{
cell = new DataGridViewTextBoxCell();
cell.Value = m_dataSource.Rows[j][i].ToString();
collapseRow.Cells.Add(cell);
}
this.Rows.Add(collapseRow);
}
}