DataGrid.ReadOnly 属性 [C#]请参见 DataGrid 类 | DataGrid 成员 | System.Windows.Forms 命名空间 | DataColumn.ReadOnly | DataGrid 成员(Visual J# 语法) | C++ 托管扩展编程 要求 平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列 语言 C#C++JScriptVisual Basic全部显示 获取或设置一个指示网格是否处于只读模式的值。[Visual Basic] Public Property ReadOnly As Boolean[C#] public bool ReadOnly {get; set;}[C++] public: __property bool get_ReadOnly(); public: __property void set_ReadOnly(bool);[JScript] public function get ReadOnly() : Boolean; public function set ReadOnly(Boolean);属性值 如果网格处于只读模式,则为 true;否则为 false。默认为 false。备注 在只读模式下,可以滚动网格、展开或折叠节点以及进行其他操作。但是,不能进行添加、编辑或删除操作。DataGridColumnStyle 还有 ReadOnly 属性,可以针对每一列将该属性设置为真以防止编辑数据。如果要禁止用户直接在 System.Windows.Forms.DataGrid 中编辑数据,可将 ReadOnly 设置为真。例如,您可能希望允许用户查看表中的所有列,但只允许他们通过另一个窗体上的 TextBox 控件来编辑特定字段。
private void Position_Changed(object sender, EventArgs e) { // Print the Position property value when it changes. ((DataView)cm1.List).AllowNew=false; }
但用户这部分用DataGrid来显示数据,我没有写insert、delete的SQL语句,可是整个表显示出来后,用户依旧可以在DataGrid中的子表删除行或加入新行,实际上对数据库的数据他是改不了的,只是看起来他好像改了一样,因为他在DataGrid中实现了。
我问的就是,怎样在DataGrid中不给他这种操作的机会,怎样在DataGrid中禁止添加新行和删除已有的行。
对表B使用Row_progeditcenter_Changing,当DataRowAction.Add时,可以RejectChanges;但是当Delete的时候,就没有Row_progeditcenter_Changing事件,怎么办?
但是当Delete的时候,就没有Row_progeditcenter_Changing事件,怎么办?
自己写一个。
this.dS_goods.Tables[0].DefaultView.AllowEdit= false;
this.dataGrid1.DataSource = this.dS_goods.Tables[0].DefaultView;
DataGrid 类 | DataGrid 成员 | System.Windows.Forms 命名空间 | DataColumn.ReadOnly | DataGrid 成员(Visual J# 语法) | C++ 托管扩展编程
要求
平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列
语言
C#C++JScriptVisual Basic全部显示
获取或设置一个指示网格是否处于只读模式的值。[Visual Basic]
Public Property ReadOnly As Boolean[C#]
public bool ReadOnly {get; set;}[C++]
public: __property bool get_ReadOnly();
public: __property void set_ReadOnly(bool);[JScript]
public function get ReadOnly() : Boolean;
public function set ReadOnly(Boolean);属性值
如果网格处于只读模式,则为 true;否则为 false。默认为 false。备注
在只读模式下,可以滚动网格、展开或折叠节点以及进行其他操作。但是,不能进行添加、编辑或删除操作。DataGridColumnStyle 还有 ReadOnly 属性,可以针对每一列将该属性设置为真以防止编辑数据。如果要禁止用户直接在 System.Windows.Forms.DataGrid 中编辑数据,可将 ReadOnly 设置为真。例如,您可能希望允许用户查看表中的所有列,但只允许他们通过另一个窗体上的 TextBox 控件来编辑特定字段。
在DataGrid中,当通过Ralation导航到子表的时候,就又可以删除行了。
我的问题其实就是在导航到子表的时候,禁止用户添加新行和删除行的语句怎么写?
{
// Print the Position property value when it changes.
((DataView)cm1.List).AllowNew=false;
}
具体怎么做看一下帮助就会了。