datagrid中如何锁定行列的大小

kukumaiwu 2010-09-20 06:52:31
接着上次的问题
http://topic.csdn.net/u/20100915/17/afb0fb1f-4d28-41a2-96c5-a8d1c01fe124.html

datagrid的一些问题已经解决了
但是现在还有两个
具体如下图


1是我想把datagrid的大小锁定
使得不能够通过拖动来调整大小

2是最前面显示的编辑列最下面的追加行不希望它显示出来
怎么设定?
...全文
227 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kukumaiwu 2010-09-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 asdfy 的回复:]
这个属性里就有啊:
DataGrid1.RowHeadersVisible = False
[/Quote]
确实应该是这个
我以前也尝试过了
另外再建一个窗口设置属性就能左边不见
但是不知道是现在绑定的问题还是什么
DataGrid1.RowHeadersVisible = False
用了也没有效果
DataGrid1.ColumnHeadersVisible = False
这句倒是管用
不过既然知道是这个了
我会去自己检查一下的
多谢ASDFY的热心解答!
pingker 2010-09-22
  • 打赏
  • 举报
回复
2003 的Gridview 由于没有用过,只能希望你自己查下自己,在属性页面看看
古今多少事 2010-09-22
  • 打赏
  • 举报
回复
这个属性里就有啊:
DataGrid1.RowHeadersVisible = False
kukumaiwu 2010-09-22
  • 打赏
  • 举报
回复
两个问题解决了,多谢ASDFY!
不过想问一下,顶楼里被1圈住的部分那个列能不显示么?
开始的时候忘了问,不好意思
如果能够一并解决的话继续追分
谢谢
kukumaiwu 2010-09-22
  • 打赏
  • 举报
回复
多谢楼上
先去试试了
tenkol 2010-09-21
  • 打赏
  • 举报
回复
第二个问题



DG.AllowUserToAddRows = False

kukumaiwu 2010-09-21
  • 打赏
  • 举报
回复
可能我没有说清楚
这个是vs2003的一个旧项目的维护
datagrid是针对winform的
只在原始的datagrid上进行修改
不会更改为datagridview


请教一下5楼第一个有没有示例代码?
不管值不值得麻不麻烦
第二个问题的话我是通过代码赋值的

'DB CONNECTION
Dim conn As SqlConnection
conn = New SqlConnection("server=localhost; uid=sa; pwd=sasa; database=BUTURYU")
conn.Open()
'每次调用是先刪除临时表数据
Dim SQLString As String = "TRUNCATE TABLE tmp"
Dim SqlCommand As SqlCommand
SqlCommand = New Data.SqlClient.SqlCommand(SQLString, conn)
SqlCommand.ExecuteNonQuery()
'从原始表读入
SQLString = "insert into [dbo].[tmp] select [发送者code],'0' from [dbo].[发送担当者master表]"
SqlCommand = New Data.SqlClient.SqlCommand
SqlCommand.CommandText = SQLString
SqlCommand.Connection = conn
SqlCommand.ExecuteNonQuery()
'获取数据
Dim da As SqlDataAdapter
da = New SqlDataAdapter("select * from tmp", conn)
Dim ds As New DataSet
da.Fill(ds)
'装入数据
Dim dt As DataTable
dt = ds.Tables(0)
conn.Close()
'设置datagrid数据源
DataGrid1.DataSource = dt

请教是那里的问题
怎么改就可以实现删除最后的效果?
古今多少事 2010-09-21
  • 打赏
  • 举报
回复
第二个问题:
Dim dv As DataView
dv = ds.Tables(0).DefaultView
dv.AllowNew = False
DataGrid1.DataSource = dv

第一个问题(行高不可调整):
Public Class myDataGrid
Inherits DataGrid
Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
hti = Me.HitTest(e.X, e.Y)
Select Case hti.Type
Case DataGrid.HitTestType.RowResize
Return
End Select
MyBase.OnMouseDown(e)
End Sub
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.RowResize Then
Windows.Forms.Cursor.Current = Cursors.Default
Return
End If
MyBase.OnMouseMove(e)
End Sub
End Class
kukumaiwu 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tenkol 的回复:]
第二个问题


VB.NET code


DG.AllowUserToAddRows = False
[/Quote]
谢谢回复
不过这个是datagridview的
我需要的是datagrid的解决办法
vs2003用的net framework 1.1
没有datagridview可用
而且程序修改要求也不能更改为用net framework 2.0的vs05或者更高来修改
pingker 2010-09-20
  • 打赏
  • 举报
回复
1、header可以调整大小的问题,通过属性是无法解决了,当然也可以通过繁琐的代码解决,但要看值不值得;更好的办法是将他隐藏起来;
2、如果手动输入,自动会add一行,如果通过代码赋值,则不会有这样的问题。如果一定要他不显示,可以通过条件删除
古今多少事 2010-09-20
  • 打赏
  • 举报
回复
用DataGridView,很简单的设置下就可以了。
Tosp2012 2010-09-20
  • 打赏
  • 举报
回复
真不喜欢用DataGrid
wwfgu00ing 2010-09-20
  • 打赏
  • 举报
回复
设置CSS属性
游子 2010-09-20
  • 打赏
  • 举报
回复
右键。。。属性。。。相应的勾去了。。。

16,554

社区成员

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

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