📄 mshflexgrid学习笔记_mysky.htm
字号:
top.location = self.location;
}
var myref = encodeURI("http://hi.baidu.com/gallonchai/blog/item/ab5d9c95e4b05749d0135e00%2Ehtml");
/*]]>*/
</SCRIPT>
<LINK href="MSHFLEXGRID学习笔记_MySky.files/mods.css" type=text/css
rel=stylesheet><LINK
href="MSHFLEXGRID学习笔记_MySky.files/bb792b3e6609c93d70cf6c0a.css" type=text/css
rel=stylesheet><LINK href="MSHFLEXGRID学习笔记_MySky.files/space.css" type=text/css
rel=stylesheet>
<STYLE type=text/css>#usrbar {
PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FONT-SIZE: 12px; BACKGROUND: #ffffff; FILTER: alpha(opacity=65); PADDING-BOTTOM: 3px; WIDTH: 100%; COLOR: #000000; LINE-HEIGHT: 19px; PADDING-TOP: 4px; FONT-FAMILY: Arial; LETTER-SPACING: normal; HEIGHT: 19px; TEXT-ALIGN: right; moz-opacity: 0.5
}
#usrbar A {
COLOR: #0000cc; TEXT-DECORATION: underline
}
#usrbar A:link {
COLOR: #0000cc; TEXT-DECORATION: underline
}
#usrbar A:visited {
COLOR: #0000cc; TEXT-DECORATION: underline
}
#ft {
CLEAR: both; FONT-SIZE: 12px; COLOR: #666666; LINE-HEIGHT: 20px; FONT-FAMILY: Arial; HEIGHT: 20px; TEXT-ALIGN: center
}
#ft A {
COLOR: #7777cc; TEXT-DECORATION: underline
}
#ft A:link {
COLOR: #7777cc; TEXT-DECORATION: underline
}
#ft A:visited {
COLOR: #7777cc; TEXT-DECORATION: underline
}
#usrbar {
LETTER-SPACING: normal
}
#usrbar A {
LETTER-SPACING: normal
}
#usrbar A:link {
LETTER-SPACING: normal
}
#usrbar A:visited {
LETTER-SPACING: normal
}
#ft {
LETTER-SPACING: normal
}
#ft A {
LETTER-SPACING: normal
}
#ft A:link {
LETTER-SPACING: normal
}
#ft A:visited {
LETTER-SPACING: normal
}
</STYLE>
<DIV id=usrbar><NOBR><A href="http://www.baidu.com/" target=_blank>百度首页</A> | <A
id=hi_index href="http://hi.baidu.com/" target=_blank>百度空间</A>
<SCRIPT type=text/javascript>
document.write('| <a href="http://passport.baidu.com/?login&tpl=sp&tpl_reg=sp&u=http://hi.baidu.com' + encodeURI('/gallonchai/blog/item/ab5d9c95e4b05749d0135e00%2Ehtml') + '">登录</a>');
</SCRIPT>
</NOBR></DIV>
<DIV id=main align=left><!--[if IE]>
<SCRIPT>
var objmain = document.getElementById("main");
function updatesize(){ var bodyw = window.document.body.offsetWidth; if(bodyw <= 790) objmain.style.width="772px"; else if(bodyw >= 1016) objmain.style.width="996px"; else objmain.style.width="100%"; }
updatesize(); window.onresize = updatesize;
</SCRIPT>
<![endif]-->
<DIV id=header>
<DIV class=lc>
<DIV class=rc></DIV></DIV>
<DIV class=tit><A class=titlink
title="gallonchai的空间 http://hi.baidu.com/gallonchai"
href="http://hi.baidu.com/gallonchai">MySky</A></DIV>
<DIV class=desc>自由空间</DIV>
<DIV id=tabline></DIV>
<DIV id=tab><A href="http://hi.baidu.com/gallonchai">主页</A><A class=on
href="http://hi.baidu.com/gallonchai/blog">博客</A><A
href="http://hi.baidu.com/gallonchai/album">相册</A><SPAN>|</SPAN><A
href="http://hi.baidu.com/gallonchai/profile">个人档案</A> <SPAN>|</SPAN><A
href="http://hi.baidu.com/gallonchai/friend">好友</A> </DIV></DIV>
<DIV class=stage>
<DIV class=stagepad>
<DIV style="WIDTH: 100%">
<TABLE class=modth cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=modtl width=7> </TD>
<TD class=modtc noWrap>
<DIV class=modhead><SPAN class=modtit>查看文章</SPAN></DIV></TD>
<TD class=modtc noWrap align=right></TD>
<TD class=modtr width=7> </TD></TR></TBODY></TABLE>
<DIV class=modbox id=m_blog>
<DIV class=tit>MSHFLEXGRID学习笔记</DIV>
<DIV class=date>2007-09-01 20:40</DIV>
<TABLE style="TABLE-LAYOUT: fixed">
<TBODY>
<TR>
<TD>
<DIV class=cnt id=blog_text>
<P>MSHFLEXGRID学习笔记
<BR> <BR><BR>此程序是可以能过TEXT文本控件,使MSHFlexGrid控件,具有可编辑的功能.:<BR>
使用鼠标选择单元格,进行编辑,按回车进行确认工作,同时TEXT控件它会以行为单位,从左到右,从上到下,在单元格里移动,同时可以对单元格进行编辑<BR>
本程序是调用函数来完成工作的,这样可以同时对多个MSHFlexGrid1控件进行编辑工作.同时在编辑的同时,还可以加入COMBO控件对MSHFlexGrid1进行编辑,这些都可以能过函数来完成工作,这样可以及大的减少了工作量!<BR>
问题讨论:<BR>
当MSHFlexGrid1控件出现多列或多行的情况下,此控件会自动产生滚动条,用鼠标点击时,滚动条会自动进行移动.(TEXT控件也同时在移动到相应的表格里)<BR>
但是当用回车键移动表格时,(TEXT控件也随之移动),如果移动时行或列在表格控件之外时,列或行就会跑到控件的外面.但是不会影响到数据的传送.</P>
<P>
希望大家踊跃讨论,学之为用,用之代学!!!<BR> <BR>Private
Sub Form_Load() \'系统初始化<BR> TXT.Visible = False
<BR> With MSHFlexGrid1<BR> .Rows =
16<BR> .Cols = 4<BR>
.ColWidth(0) = 800<BR> .ColWidth(1) =
1500<BR> .ColWidth(2) =
6500<BR> .ColWidth(3) =
2000<BR> .TextMatrix(0, 1) =
"时间"<BR> .TextMatrix(0, 2) =
"安排"<BR> .TextMatrix(0, 3) =
"备注"<BR> <BR>
\'表头项居中<BR> .FillStyle =
flexFillRepeat<BR> .Col =
0<BR> .Row =
0<BR> .RowSel = .Rows -
1<BR> .ColSel = .Cols -
1<BR> .CellAlignment =
4<BR> <BR> Dim CoDe
As Integer<BR> CoDe =
1<BR> Do While CoDe <
.Rows<BR> .TextMatrix(CoDe, 0) = "编号" &
CoDe<BR> CoDe = CoDe +
1<BR> Loop<BR> End
With<BR>End Sub</P>
<P>Private Sub MSHFlexGrid1_click()<BR> Call
YiDongTXT(MSHFlexGrid1, Txt, 15, 3)<BR> End
Sub<BR>Private Sub Txt_keypress(keyascii As Integer)
\'添加完数据后,进行当前位置的判断<BR> If keyascii = vbKeyReturn
Then<BR> Call JianYanTXT(MSHFlexGrid1, Txt)<BR>
Call WanBiTXT(MSHFlexGrid1, Txt, 15, 3)<BR> End
If<BR> If keyascii = vbKeyEscape
Then<BR> Txt.Visible =
False<BR>
MSHFlexGrid1.SetFocus<BR> End If<BR>End
Sub<BR>Private Function YiDongTXT(Table As MSHFlexGrid,
_<BR>
kongJian As TextBox,
_<BR>
RowNum As Integer,
_<BR>
ColNum As Integer)<BR> If Table.Col <= ColNum And Table.Row
<= RowNum Then<BR> kongJian.Left =
Table.Left + Table.ColPos(Table.Col)<BR>
kongJian.Top = Table.Top +
_<BR>
Table.RowPos(Table.Row)<BR> kongJian.Width =
Table.ColWidth(Table.Col)<BR>
kongJian.Height =
Table.RowHeight(Table.Row)<BR> kongJian.Text
= Table.Text<BR> kongJian.Visible =
True<BR>
kongJian.SetFocus<BR> End If<BR>End
Function<BR>Private Function JianYanTXT(Table As MSHFlexGrid,
_<BR>
kongJian As TextBox)<BR> Table.Text =
kongJian.Text<BR>
End
Function<BR> <BR>
\'添加数据后,进近控件的移动
\'\'TXT<BR> <BR>Private Function
WanBiTXT(Table As MSHFlexGrid,
_<BR>
kongJian As TextBox,
_<BR>
RowNum As Integer,
_<BR>
ColNum As Integer)<BR> If Table.Col = ColNum
Then<BR> Table.Col =
0<BR> If Table.Row = RowNum
Then<BR>
Table.Row =
1<BR>
Table.Col =
0<BR>
Else<BR>
Table.Row = Table.Row + 1<BR>
End If<BR> End If<BR> If Table.Col
< ColNum Then<BR>
Table.Col = Table.Col + 1<BR> End
If<BR> <BR>
kongJian.Left = Table.Left +
Table.ColPos(Table.Col)<BR> kongJian.Top =
Table.Top + _<BR>
Table.RowPos(Table.Row)<BR> kongJian.Width =
Table.ColWidth(Table.Col)<BR>
kongJian.Height =
Table.RowHeight(Table.Row)<BR> kongJian.Text
= Table.Text<BR> kongJian.Visible =
True<BR> kongJian.SetFocus<BR>end
function</P>
<P></P>
<P></P>
<P></P>
<P></P>
<P>设置MSHFlexGrid每行的颜色</P>
<P>Public Sub SetRowColor(ByRef MSHFlexGrid As
Object)<BR> Dim j, i,
objName<BR> objName =
TypeName(MSHFlexGrid)<BR> If
StrConv(Trim(objName), vbUpperCase) <> "MSHFLEXGRID"
Then<BR> Exit
Sub<BR> End If<BR>
MSHFlexGrid.FillStyle = 1<BR> For i = 1 To
MSHFlexGrid.Rows - 1<BR>
MSHFlexGrid.Row = i<BR> If
i Mod 2 = 0
Then<BR>
MSHFlexGrid.Col =
0<BR>
MSHFlexGrid.ColSel = MSHFlexGrid.Cols -
1<BR>
MSHFlexGrid.CellBackColor =
&H80FFFF<BR> End
If<BR> Next i<BR>
MSHFlexGrid.FillStyle = 0<BR> MSHFlexGrid.Row =
0<BR> MSHFlexGrid.Col = 0<BR>End Sub</P>
<P></P>
<P></P>
<P><BR>如何实现MSHFlexGrid的自动滚动?</P>
<P><BR>
可以修改MSHFlexGrid的TopRow属性来达到自动滚动的目的。TopRow是可见的最上面的一列(固定列除外)。如果这个数增加,MSHFlexGrid就向上滚动;反之,减少就向下滚动。假设你已经设置好MSHFlexGrid的属性,在窗体上添加一个Timer控件,设置其Interval为1000。则下面的例子就使你的MSHFlexGrid每秒向上移动一行。
<BR> Private Sub Timer1_Timer()
<BR> MSHFlexGrid1.TopRow =
MSHFlexGrid1.TopRow + 1 <BR> End Sub</P>
<P></P>
<P></P>
<P></P>
<P>在VB中,怎样用MSHFlEXGRID控件中的sort属性进行日期的明确排序呢?</P>
<P></P>
<P>各位高手们:<BR>下午好啊!我又遇到难题了,现在只能来这里向各位高手们求救了!请问一下,在VB中,怎样用MSHFlEXGRID控件中的sort属性进行日期的明确排序呢?我试过了用sort来进行日期排序时,排得的结果不是很准确的,比如:我要准确排列以下这些日期吧!<BR>2002年第一季度,2002年,2005年,2005年每三季度,2005第一度<BR>我就排上前几个数,如果用<BR>mshflexgrid1.colsel=7<BR>mshflexgrid1.sort=1
<BR>这样排出的结果不是很准确的,它不能识别“2002年”,和“2002年第一季度”这两个数是谁大的,有时可以,有时不可以,还有以下这种形式的也不可以准确排序!<BR>2002-10-1
,2001-5-1,2002-10-2<BR>这种形式的日期也不可以直接排序的!请问一下有什么方法可以解决以上的问题呢?请各位指教一二吧!在这里先谢过各位了!</P>
<P></P>
<P>您可以在DataGrid控件的MouseUp事件中加入类似以下代码来实现整行选择的效果:<BR>
Private Sub DataGrid1_MouseUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles
DataGrid1.MouseUp<BR> Dim
pt As System.Drawing.Point = New System.Drawing.Point(e.X,
e.Y)<BR> Dim hti As
DataGrid.HitTestInfo =
DataGrid1.HitTest(pt)<BR>
If hti.Type = DataGrid.HitTestType.Cell
Then<BR>
DataGrid1.Select(hti.Row)<BR>
End If<BR> End Sub</P>
<P></P></DIV></TD></TR></TBODY></TABLE><BR>
<DIV class=opt><A title=查看该分类中所有文章
href="http://hi.baidu.com/gallonchai/blog/category/Vb">类别:Vb</A> | <A
title=将此文章添加到百度搜藏 onclick="return addToFavor();"
href="http://cang.baidu.com/do/add" target=_blank>添加到搜藏</A> | 浏览(<SPAN
id=result></SPAN>) | <A
href="http://hi.baidu.com/gallonchai/blog/item/ab5d9c95e4b05749d0135e00.html#send">评论</A> (0)
<SCRIPT language=javascript>/*<![CDATA[*/var pre = [true,'功能强大的SendMessage函数', '功能强大的SendMessage函数','/gallonchai/blog/item/7b4aff18a7e0200534fa4158.html'];var post = [true,'从Datagrid的标题居中说起','从Datagrid的标题居中说起', '/gallonchai/blog/item/df25851347927c005aaf53b7.html'];if(pre[0] || post[0]){ document.write('<div style="height:5px;line-height:5px;"> </div><div id="in_nav">'); if(pre[0]){ document.write('上一篇:<a href="' + pre[3] + '" title="' + pre[1] + '">' + pre[2] + '</a> '); } if(post[0]){ document.write('下一篇:<a href="' + post[3] + '" title="' + post[1] + '">' + post[2] + '</a>'); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -