VBwince datagrid 列宽怎么修改列宽?

VB中DataGrid 控件的使用一得_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VB中DataGrid 控件的使用一得
&&VB中DataGrid 控件的使用
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩2页未读,
定制HR最喜欢的简历
你可能喜欢豆丁微信公众号
君,已阅读到文档的结尾了呢~~
dataGrid自动调整列宽,datagridview自动列宽,easyui datagrid 列宽,datagridview设置列宽,datagrid 列宽自适应,datagrid列宽,datagridview列宽固定,wpf datagrid 列宽,datagrid设置列宽,c datagrid 列宽
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
dataGrid自动调整列宽
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口vb中的datagrid控件的列宽怎么固定阿_百度知道
vb中的datagrid控件的列宽怎么固定阿
我有更好的答案
DG1.Columns(i).Width = 500
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。posts - 133, comments - 210, trackbacks - 1, articles - 1
&用Datagrid控件显示表格数据,当表格内容过多时,Datagrid控件单元格宽度并不足以用来完全显示表格中的数据内容。而只有自己每次去拉动分界线,来进行调整。当出现表格字段比较多时,这样做就显得很麻烦。&&&&&& 以下是用程序根据表格内容来自动调整Datagrid控件单元格宽度。&&&&&& 先定义一个Sub过程AutoSizeCol,用来调整Datagrid中的列宽。&&&&&& 如下:
&&&&&& Public Sub AutoSizeCol(ByVal col As Integer)&&&&&&&&&& Dim width As Single&&&&&&&&&& width = 0&&&&&&&&&& Dim numRows As Integer&&&&&&&&&& numRows = CType(dataGrid1.DataSource, DataTable).Rows.Count&&&&&&&&&& Dim g As Graphics&&&&&&&&& &g = Graphics.FromHwnd(dataGrid1.Handle)&&&&&&&&& &Dim sf As StringFormat&&&&&&&&&& sf = New StringFormat(StringFormat.GenericTypographic)&&&&&&&&& &Dim size As SizeF&&&&&&&&&& Dim i As Integer&&&&&&&&& &i = 0
&&&&&&&&&& Do While (i & numRows)&&&&&&&&&&&&&& size = g.MeasureString(dataGrid1(i, col).ToString, dataGrid1.Font, 500, sf)&&&&&&&&&&&&&& If (size.Width & width) Then&&&&&&&&&&&&&&&&&& width = size.Width&&&&&&&&&&&&&&& End If&&&&&&&&&&&&&&& i = (i + 1)&&&&&&&&&& Loop
&&&&&&&&&& g.Dispose()&&&&&&&&&& dataGrid1.TableStyles("customers").GridColumnStyles(col).Width = CType(width, Integer)
&&&&&& End Sub
&&&&&& 现在就可以表格内容来定义整张表所有列的宽度了。如下:&&&&&& Public Sub AutoSizeTable()&&&&&&&&&& Dim numCols As Integer&&&&&&&&&& numCols = CType(dataGrid1.DataSource, DataTable).Columns.Count&&&&&&&&&& Dim i As Integer&&&&&&&&&& i = 0&&&&&&&&&& Do While (i & numCols)&&&&&&&&&&&&& &AutoSizeCol(i)&&&&&&&&&&&&&& i = (i + 1)&&&&&&&&&& Loop&&&&&& End Sub
&&&&&& 只要使用以上两个Sub过程就可以达到你想要的结果了!
&&&&&& 一个完整的实例如下:&&&&&&& Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load&&&&&&& Dim connString As String&&&&&&& connString = "Provider=Microsoft.JET.OLEDB.4.0;data source=northwind.mdb"&&&&&&& Dim sqlString As String&&&&&&& sqlString = "SELECT * FROM customers"&&&&&&& Dim dataAdapter As OleDbDataAdapter&&&&&&& dataAdapter = Nothing&&&&&&& Dim _dataSet As DataSet&&&&&&& _dataSet = Nothing
&&&&&&& Try
&&&&&&&&&&& Dim connection As OleDbConnection&&&&&&&&&&& connection = New OleDbConnection(connString)
&&&&&&&&&&& dataAdapter = New OleDbDataAdapter(sqlString, connection)
&&&&&&&&&&& _dataSet = New DataSet&&&&&&&&&&& dataAdapter.Fill(_dataSet, "customers")&&&&&&&&&&& connection.Close()&&&&&&& Catch ex As Exception&&&&&&&&&&& MessageBox.Show("出错!")&&&&&&&&&&& Me.Close()&&&&&&&&&&& Return&&&&&&& End Try&&&&&&& Dim tableStyle As DataGridTableStyle&&&&&&& tableStyle = New DataGridTableStyle&&&&&&& tableStyle.MappingName = "customers"
&&&&&&& dataGrid1.TableStyles.Clear()&&&&&&& dataGrid1.TableStyles.Add(tableStyle)&&&&&&& dataGrid1.DataSource = _dataSet.Tables("customers")&&& End Sub
&&& Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click&&&&&&& AutoSizeTable()&&& End Sub
&&& Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click&&&&&&& AutoSizeCol(1)&&& End Sub如何让datagrid自适应窗口大小?【vb吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:108,444贴子:
快试试吧,可以对自己使用挽尊卡咯~◆◆
在什么开发工具里?如果是.NET里面好说,修改Anchor属性值为“Top,&Bottom,&Left,&Right”就可以了
如果是VB6.0里面不能实现真正的自适应大小,只能通过代码控制大小!
在窗体改变大小的事件中添加如下代码
其中,v***Margin分别代表各个边距窗体相对应的边的距离
Private&Sub&Form_Resize()
&dbGrid.Move&vLeftMargin,&vTopMargin,&_
&ScaleWidth&-&vLeftMargin&-&vRightMargin,&_
&ScaleHeight&-&vTopMargin&-&vBottomMargin
End&Sub
上面的代码还应该在过程的第一行之前加上一行:
&If&WindowState&=&vbMinimized&Then&Exit&Sub
并还应该加上对窗体大小的判断,防止使控件宽度和高度小于0,会报错,如,窗体宽度为5,但左边和右边距分别为4,那么用5减两个4就会小于0,些会报错,同样,当窗体高度小于上边距加底边距的和时也会报错。可以自己想想该怎么处理
快试试吧,可以对自己使用挽尊卡咯~◆◆
了解.谢谢!
登录百度帐号

我要回帖

更多关于 vb datagrid 列宽 的文章

 

随机推荐