一、初始化Dgv属性
通过代码初始化Dgv属性,更便于查看。
DataGridView.DataSource = null;
//1、禁止自动创建列
DataGridView.AutoGenerateColumns = false;
//2、禁止用户添加、删除行
DataGridView.AllowUserToAddRows = false;
DataGridView.AllowUserToDeleteRows = false;
//3、禁止用户修改行、列大小
DataGridView.AllowUserToResizeRows = false;
DataGridView.AllowUserToResizeColumns = false;
DataGridView.AllowUserToOrderColumns = false;
//4、隐藏行、列标题列
DataGridView.RowHeadersVisible = false;
//DataGridView.ColumnHeadersVisible = false;
//5、是否可以选择多行
DataGridView.MultiSelect = false;
//6、选择的模式:整行、单元格
DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
//7、设置标题列和单元格的内容显示格式(居中)
DataGridView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
DataGridView.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
//8、设置单元格是否是只读的
DataGridView.ReadOnly = false;
DataGridView.ScrollBars = ScrollBars.Both;
DataGridView.Rows.Clear();
DataGridView.Columns.Clear();
二、为Dgv添加列
列的选择性很多,文本列、选择列、下拉列等等。
DataGridViewTextBoxColumn _DgvTextBoxColumn;
_DgvTextBoxColumn = new DataGridViewTextBoxColumn();
//1、列名、标题名
_DgvTextBoxColumn.Name = "ID";
_DgvTextBoxColumn.HeaderText = "编号";
//2、宽度或者自动调整属性
_DgvTextBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
//3、只读属性
_DgvTextBoxColumn.ReadOnly = false;
//4、数据源的属性或数据库列的名称与其绑定(名称最好与列名相同)
_DgvTextBoxColumn.DataPropertyName = _DgvTextBoxColumn.Name;
//5、添加到Dgv的列中
dgv.Columns.Add(_DgvTextBoxColumn);
三、取消标题栏右侧排序箭头
//取消右侧排序小箭头
for (int i = 0; i < dataGridView.Columns.Count; i++)
{
dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
四、添加Combox列及数据绑定
DevComponents.DotNetBar.Controls.DataGridViewComboBoxExColumn _DgvComboBoxColumn = new DevComponents.DotNetBar.Controls.DataGridViewComboBoxExColumn();
_DgvComboBoxColumn.Name = "CommunicationMethod";
_DgvComboBoxColumn.HeaderText = "通讯方式";
_DgvComboBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
_DgvComboBoxColumn.ReadOnly = false;
_DgvComboBoxColumn.DataPropertyName = _DgvComboBoxColumn.Name;
_DgvComboBoxColumn.DropDownStyle = ComboBoxStyle.DropDownList;
IniDgvCombox(ref _DgvComboBoxColumn, typeof(Model.SystemEnum.CommunicationMethod));
public static void IniDgvCombox(ref DevComponents.DotNetBar.Controls.DataGridViewComboBoxExColumn cb, Type type)
{
cb.DisplayMember = "Description";
cb.ValueMember = "value";
List<Model.ObjectInfo> list = new List<Model.ObjectInfo>();
foreach (var inst in Enum.GetValues(type))
{
list.Add(new Model.ObjectInfo()
{
Description = GetEnumDescription(inst as System.Enum),
value = inst
});
}
cb.DataSource = list;
}