winform:datagrid:怎样禁止追加一行(不想让有*的那一行显示出来)?怎样禁止通过head改变列的宽度?

Baryon 2003-12-25 12:57:19
winform:datagrid:怎样禁止追加一行(不想让有*的那一行显示出来)?怎样禁止通过head改变列的宽度?
...全文
48 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
pcbabao1 2003-12-28
  • 打赏
  • 举报
回复
DataView? 如果用DATATABLE的话,应该用什么办法啊,这个办法不可以的
canyqf 2003-12-27
  • 打赏
  • 举报
回复
sorry,漏掉了.DataSource
CType(datagrid.DataSource,DataView).AllowNew=False
billfancy 2003-12-26
  • 打赏
  • 举报
回复
Private Sub DtgMain_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DtgMain.CurrentCellChanged
If DtgMain.CurrentCell.RowNumber = dsMdb.Tables(0).Rows.Count Then
DtgMain.CurrentCell = New DataGridCell(dsMdb.Tables(0).Rows.Count - 1, 0)
End If
End Sub
pcbabao1 2003-12-26
  • 打赏
  • 举报
回复
just try
CType(datagrid,DataView).AllowNew=False

可以编辑/删除,不能添加

系统提示:datagrid不能转化为DataView类型
DATAGRID控件本身也没有AllowNew属性

请指点,指点,你写的代码有没有验正以下》
canyqf 2003-12-25
  • 打赏
  • 举报
回复
just try
CType(datagrid,DataView).AllowNew=False

可以编辑/删除,不能添加
pcbabao1 2003-12-25
  • 打赏
  • 举报
回复
如果我我又想可以改动,而有不想增加*行,能不能实现啊?
dunheng 2003-12-25
  • 打赏
  • 举报
回复
不想让系统自动为你添加带*号的那个空行,则更容易,把datagrid的readonly属性设置为true就可以了,当然,前提是你不需要用户对datagrid的数据进行修改。
dunheng 2003-12-25
  • 打赏
  • 举报
回复
想不让用户拖动改变列宽,你可以重写一个datagrid,重写他的onmousedown和onmousemove事件,判断该点击事件的目的是否为改变列宽,如果是的话,不做任何处理退出。代码如下:
Public Class newDataGrid

Inherits DataGrid

Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)

Dim hti As DataGrid.HitTestInfo = Me.HitTest(New Point(e.X, e.Y))
'如果鼠标事件类型为改变列宽则返回
If hti.Type = DataGrid.HitTestType.ColumnResize Then

Return 'no baseclass call

End If

MyBase.OnMouseMove(e)

End Sub

Protected Overrides Sub onmousedown(ByVal e As System.Windows.Forms.MouseEventArgs)
Dim hti As DataGrid.HitTestInfo = Me.HitTest(New Point(e.X, e.Y))
If hti.Type = DataGrid.HitTestType.ColumnResize Then
Return
End If
Try
MyBase.OnMouseDown(e)
Catch ex As System.NullReferenceException
Exit Sub
End Try
End Sub

End Class
ahejn 2003-12-25
  • 打赏
  • 举报
回复
CType(datagrid,DataView).AllowAddNew=False?
canyqf 2003-12-25
  • 打赏
  • 举报
回复
datagrid设置数据源为DataView,
CType(datagrid,DataView).AllowNew=False

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧