c#设置 dataGridView1列只读
时间: 2023-07-04 18:11:57 浏览: 67
你可以通过以下代码将 dataGridView1 的某一列设置为只读:
```csharp
dataGridView1.Columns["ColumnName"].ReadOnly = true;
```
其中,"ColumnName" 是你要设置为只读的列的名称。如果你知道该列的索引,也可以使用以下代码:
```csharp
dataGridView1.Columns[columnIndex].ReadOnly = true;
```
其中,columnIndex 是该列的索引。请注意,索引从零开始。
相关问题
c# winform datagridview赋值代码实现
使用 C# WinForm 中的 DataGridView 控件,可以通过以下代码将数据赋值给 DataGridView:
1. 准备数据源:可以使用 DataTable、DataSet 或 List 等数据类型作为数据源。
2. 设置 DataGridView 的 DataSource 属性为准备好的数据源。
3. 可以通过代码设置 DataGridView 中列的属性,例如列标题、列宽、是否可编辑等。
4. 如果需要,可以通过代码添加按钮、复选框等控件到 DataGridView 中。
下面是一个简单的示例代码,演示如何将 DataTable 赋值给 DataGridView:
```csharp
// 准备数据源
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
dt.Rows.Add(1, "Tom", 25);
dt.Rows.Add(2, "Mary", 30);
dt.Rows.Add(3, "John", 40);
// 设置 DataGridView 的 DataSource 属性
dataGridView1.DataSource = dt;
// 设置 DataGridView 中列的属性
dataGridView1.Columns[0].HeaderText = "编号";
dataGridView1.Columns[1].HeaderText = "姓名";
dataGridView1.Columns[2].HeaderText = "年龄";
dataGridView1.Columns[2].Width = 60;
dataGridView1.Columns[2].ReadOnly = true;
```
上述代码将 DataTable 赋值给了 DataGridView,并设置了列标题、列宽和只读属性。如果需要在 DataGridView 中添加按钮或复选框,可以使用 DataGridViewButtonColumn 或 DataGridViewCheckBoxColumn 等列类型。
C# 中 datagridview 绑定BindingList类型和更新
你好!针对你的问题,我可以给你以下的回答:
1. 绑定BindingList类型
在C#中,我们可以通过以下步骤将一个BindingList类型的数据源绑定到DataGridView控件上:
- 首先,在窗体上拖拽一个DataGridView控件,设置它的DataSource属性为要绑定的BindingList对象。
- 然后,通过代码设置DataGridView中各列的显示格式、排序方式、编辑方式等属性。
- 最后,通过调用DataGridView的DataBind()方法,使得数据源与DataGridView控件进行关联。
具体的代码实现可以参考以下示例:
```
BindingList<MyData> dataList = new BindingList<MyData>(); // 定义一个BindingList类型的数据源
// 添加数据到dataList中
...
dataGridView1.DataSource = dataList; // 绑定数据源到DataGridView控件上
dataGridView1.Columns["PropertyName"].HeaderText = "列名"; // 设置列的显示格式
dataGridView1.Columns["PropertyName"].SortMode = DataGridViewColumnSortMode.Automatic; // 设置列的排序方式
dataGridView1.Columns["PropertyName"].ReadOnly = true; // 设置列为只读
dataGridView1.Columns["PropertyName"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; // 设置列内容的对齐方式
dataGridView1.AutoGenerateColumns = false; // 关闭自动生成列
dataGridView1.DataBind(); // 数据绑定
```
2. 更新数据
当BindingList中的数据发生变化时,DataGridView控件会自动更新显示的内容,不需要手动调用刷新方法。如果需要手动更新DataGridView控件,可以通过以下代码实现:
```
dataGridView1.Refresh(); // 刷新DataGridView控件
```
另外,如果需要对DataGridView中的数据进行增、删、改操作,可以直接对BindingList对象进行操作,DataGridView控件会自动更新显示的内容。例如:
```
dataList.Add(new MyData()); // 添加一条数据
dataList.RemoveAt(0); // 删除第一条数据
dataList[0].PropertyName = "NewValue"; // 修改第一条数据的属性值
```
以上就是C#中DataGridView控件绑定BindingList类型数据源和更新的相关内容,希望能够帮到你。