怎么设置 具体的 单元格的编辑属性...?
我只知道 mydatagrid.ReadOnly=ture or false 这样是设置全部的 单元格..
谢谢了!
9 个解决方案
#1
在列里这样也是可以的
ReadOnly=ture
#2
可以设置某列为只读,在属性生成器里面有。
#3
//行
dataGridView1.Rows[0].ReadOnly = true;
dataGridView1.Rows[1].ReadOnly = false;
//列
dataGridView1.Columns[0].ReadOnly = true;
dataGridView1.Columns[1].ReadOnly = false;
dataGridView1.Rows[0].ReadOnly = true;
dataGridView1.Rows[1].ReadOnly = false;
//列
dataGridView1.Columns[0].ReadOnly = true;
dataGridView1.Columns[1].ReadOnly = false;
#4
//单元格
dataGridView1.Rows[0][0].ReadOnly = true;
dataGridView1.Rows[0][1].ReadOnly = false;
dataGridView1.Rows[0][0].ReadOnly = true;
dataGridView1.Rows[0][1].ReadOnly = false;
#5
我还要声明 dataGridView1 吗?
没其它办法吗?
还有楼上说的 "在列里这样也是可以的"..
可以给代码看看吗?
没其它办法吗?
还有楼上说的 "在列里这样也是可以的"..
可以给代码看看吗?
#6
//定义DataGridTableStyle 实例
DataGridTableStyle tsMemployee = new DataGridTableStyle();
//将DataGridTableStyle实例映射到DataSet的表
tsMemployee.MappingName = myDataSet.Tables[0].TableName;
//按照数据库中的表有多少列就定义多少个DataGridColumnStyle列
DataGridColumnStyle DiviCodeCol = new DataGridTextBoxColumn();
DiviCodeCol.MappingName = "DiviCode";//映射表中列的名称
DiviCodeCol.ReadOnly = true;
DiviCodeCol.HeaderText = "部门编码";//列头的名称
DiviCodeCol.NullText = "";将DataGrid中的Null换成""
DiviCodeCol.Width = 60;
tsMemployee.GridColumnStyles.Add(DiviCodeCol);
dgStafferInfo.TableStyles.Clear();
dgStafferInfo.TableStyles.Add(tsMemployee);
DataGridTableStyle tsMemployee = new DataGridTableStyle();
//将DataGridTableStyle实例映射到DataSet的表
tsMemployee.MappingName = myDataSet.Tables[0].TableName;
//按照数据库中的表有多少列就定义多少个DataGridColumnStyle列
DataGridColumnStyle DiviCodeCol = new DataGridTextBoxColumn();
DiviCodeCol.MappingName = "DiviCode";//映射表中列的名称
DiviCodeCol.ReadOnly = true;
DiviCodeCol.HeaderText = "部门编码";//列头的名称
DiviCodeCol.NullText = "";将DataGrid中的Null换成""
DiviCodeCol.Width = 60;
tsMemployee.GridColumnStyles.Add(DiviCodeCol);
dgStafferInfo.TableStyles.Clear();
dgStafferInfo.TableStyles.Add(tsMemployee);
#7
DataGridTableStyle tsQueryWatiOrder = new DataGridTableStyle();
tsQueryWatiOrder.MappingName =myDtWaitAttemOrderList.TableName;
// 设置属性
tsQueryWatiOrder.AlternatingBackColor = Color.LightGray;
DataGridBoolColumn chkboCol = new DataGridBoolColumn();
chkboCol.MappingName = "xz";
chkboCol.HeaderText = "选择";
chkboCol.Width = 36;
chkboCol.AllowNull=false;
tsQueryWatiOrder.GridColumnStyles.Add(chkboCol);
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "orderid";
TextCol.HeaderText = "委托单号";
TextCol.Width = 140;
TextCol.ReadOnly=true;
tsQueryWatiOrder.GridColumnStyles.Add(TextCol);
myDtWaitAttemOrderList.DefaultView.AllowDelete=false;
myDtWaitAttemOrderList.DefaultView.AllowEdit=true;
myDtWaitAttemOrderList.DefaultView.AllowNew=false;
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(tsQueryWatiOrder);
tsQueryWatiOrder.MappingName =myDtWaitAttemOrderList.TableName;
// 设置属性
tsQueryWatiOrder.AlternatingBackColor = Color.LightGray;
DataGridBoolColumn chkboCol = new DataGridBoolColumn();
chkboCol.MappingName = "xz";
chkboCol.HeaderText = "选择";
chkboCol.Width = 36;
chkboCol.AllowNull=false;
tsQueryWatiOrder.GridColumnStyles.Add(chkboCol);
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "orderid";
TextCol.HeaderText = "委托单号";
TextCol.Width = 140;
TextCol.ReadOnly=true;
tsQueryWatiOrder.GridColumnStyles.Add(TextCol);
myDtWaitAttemOrderList.DefaultView.AllowDelete=false;
myDtWaitAttemOrderList.DefaultView.AllowEdit=true;
myDtWaitAttemOrderList.DefaultView.AllowNew=false;
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(tsQueryWatiOrder);
#8
上面的代码我看明白了...
但是我的代码 是用 数据适配器 和 数据集 绑定到 数据表格中的..
手工添加 行和列 太麻烦了把 我的数据表格 是动态的..
没有同过定义好的数据表格 得到单元格 然后 把单元格的属性 设置 成 只读的方法吗??
private SqlDataAdapter dbAdap;
private System.Data.DataSet dbDS;
private System.Windows.Forms.DataGrid mainDataGrid;
我就定义了 这些变量,不能实现这个功能吗?
但是我的代码 是用 数据适配器 和 数据集 绑定到 数据表格中的..
手工添加 行和列 太麻烦了把 我的数据表格 是动态的..
没有同过定义好的数据表格 得到单元格 然后 把单元格的属性 设置 成 只读的方法吗??
private SqlDataAdapter dbAdap;
private System.Data.DataSet dbDS;
private System.Windows.Forms.DataGrid mainDataGrid;
我就定义了 这些变量,不能实现这个功能吗?
#9
没有简便的方法,不过你可以不用去加东西,可以去删东西,参看
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q1008q
然后你在其中增加判断一下是否是checkbox控件
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q1008q
然后你在其中增加判断一下是否是checkbox控件
#1
在列里这样也是可以的
ReadOnly=ture
#2
可以设置某列为只读,在属性生成器里面有。
#3
//行
dataGridView1.Rows[0].ReadOnly = true;
dataGridView1.Rows[1].ReadOnly = false;
//列
dataGridView1.Columns[0].ReadOnly = true;
dataGridView1.Columns[1].ReadOnly = false;
dataGridView1.Rows[0].ReadOnly = true;
dataGridView1.Rows[1].ReadOnly = false;
//列
dataGridView1.Columns[0].ReadOnly = true;
dataGridView1.Columns[1].ReadOnly = false;
#4
//单元格
dataGridView1.Rows[0][0].ReadOnly = true;
dataGridView1.Rows[0][1].ReadOnly = false;
dataGridView1.Rows[0][0].ReadOnly = true;
dataGridView1.Rows[0][1].ReadOnly = false;
#5
我还要声明 dataGridView1 吗?
没其它办法吗?
还有楼上说的 "在列里这样也是可以的"..
可以给代码看看吗?
没其它办法吗?
还有楼上说的 "在列里这样也是可以的"..
可以给代码看看吗?
#6
//定义DataGridTableStyle 实例
DataGridTableStyle tsMemployee = new DataGridTableStyle();
//将DataGridTableStyle实例映射到DataSet的表
tsMemployee.MappingName = myDataSet.Tables[0].TableName;
//按照数据库中的表有多少列就定义多少个DataGridColumnStyle列
DataGridColumnStyle DiviCodeCol = new DataGridTextBoxColumn();
DiviCodeCol.MappingName = "DiviCode";//映射表中列的名称
DiviCodeCol.ReadOnly = true;
DiviCodeCol.HeaderText = "部门编码";//列头的名称
DiviCodeCol.NullText = "";将DataGrid中的Null换成""
DiviCodeCol.Width = 60;
tsMemployee.GridColumnStyles.Add(DiviCodeCol);
dgStafferInfo.TableStyles.Clear();
dgStafferInfo.TableStyles.Add(tsMemployee);
DataGridTableStyle tsMemployee = new DataGridTableStyle();
//将DataGridTableStyle实例映射到DataSet的表
tsMemployee.MappingName = myDataSet.Tables[0].TableName;
//按照数据库中的表有多少列就定义多少个DataGridColumnStyle列
DataGridColumnStyle DiviCodeCol = new DataGridTextBoxColumn();
DiviCodeCol.MappingName = "DiviCode";//映射表中列的名称
DiviCodeCol.ReadOnly = true;
DiviCodeCol.HeaderText = "部门编码";//列头的名称
DiviCodeCol.NullText = "";将DataGrid中的Null换成""
DiviCodeCol.Width = 60;
tsMemployee.GridColumnStyles.Add(DiviCodeCol);
dgStafferInfo.TableStyles.Clear();
dgStafferInfo.TableStyles.Add(tsMemployee);
#7
DataGridTableStyle tsQueryWatiOrder = new DataGridTableStyle();
tsQueryWatiOrder.MappingName =myDtWaitAttemOrderList.TableName;
// 设置属性
tsQueryWatiOrder.AlternatingBackColor = Color.LightGray;
DataGridBoolColumn chkboCol = new DataGridBoolColumn();
chkboCol.MappingName = "xz";
chkboCol.HeaderText = "选择";
chkboCol.Width = 36;
chkboCol.AllowNull=false;
tsQueryWatiOrder.GridColumnStyles.Add(chkboCol);
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "orderid";
TextCol.HeaderText = "委托单号";
TextCol.Width = 140;
TextCol.ReadOnly=true;
tsQueryWatiOrder.GridColumnStyles.Add(TextCol);
myDtWaitAttemOrderList.DefaultView.AllowDelete=false;
myDtWaitAttemOrderList.DefaultView.AllowEdit=true;
myDtWaitAttemOrderList.DefaultView.AllowNew=false;
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(tsQueryWatiOrder);
tsQueryWatiOrder.MappingName =myDtWaitAttemOrderList.TableName;
// 设置属性
tsQueryWatiOrder.AlternatingBackColor = Color.LightGray;
DataGridBoolColumn chkboCol = new DataGridBoolColumn();
chkboCol.MappingName = "xz";
chkboCol.HeaderText = "选择";
chkboCol.Width = 36;
chkboCol.AllowNull=false;
tsQueryWatiOrder.GridColumnStyles.Add(chkboCol);
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "orderid";
TextCol.HeaderText = "委托单号";
TextCol.Width = 140;
TextCol.ReadOnly=true;
tsQueryWatiOrder.GridColumnStyles.Add(TextCol);
myDtWaitAttemOrderList.DefaultView.AllowDelete=false;
myDtWaitAttemOrderList.DefaultView.AllowEdit=true;
myDtWaitAttemOrderList.DefaultView.AllowNew=false;
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(tsQueryWatiOrder);
#8
上面的代码我看明白了...
但是我的代码 是用 数据适配器 和 数据集 绑定到 数据表格中的..
手工添加 行和列 太麻烦了把 我的数据表格 是动态的..
没有同过定义好的数据表格 得到单元格 然后 把单元格的属性 设置 成 只读的方法吗??
private SqlDataAdapter dbAdap;
private System.Data.DataSet dbDS;
private System.Windows.Forms.DataGrid mainDataGrid;
我就定义了 这些变量,不能实现这个功能吗?
但是我的代码 是用 数据适配器 和 数据集 绑定到 数据表格中的..
手工添加 行和列 太麻烦了把 我的数据表格 是动态的..
没有同过定义好的数据表格 得到单元格 然后 把单元格的属性 设置 成 只读的方法吗??
private SqlDataAdapter dbAdap;
private System.Data.DataSet dbDS;
private System.Windows.Forms.DataGrid mainDataGrid;
我就定义了 这些变量,不能实现这个功能吗?
#9
没有简便的方法,不过你可以不用去加东西,可以去删东西,参看
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q1008q
然后你在其中增加判断一下是否是checkbox控件
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q1008q
然后你在其中增加判断一下是否是checkbox控件