有几个关于DataGrid和MSHFlexGrid的小问题请教。

caosheng02 2004-01-29 01:00:20
1。在DataGrid中,有一列是整型的。要实现以下这个功能:<60用红色显示该数据(cell的值);>60用黑色 (10‘)
2。如何给列加默认值 (5’)
3。在DataGrid中某一列,我想用下拉列表框,而不是用编辑框,该怎么做?(10‘)
4。在被ADOData绑定的text中,修改(删除,添加)好数据,如何在MSHFlexGrid同步显示数据 (10')
5。关于“查找”:
要实现如下功能:
要查“曙光公司”,只要输入“光”,所有带有光的公司都要显示出来。(20')
...全文
57 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
athossmth 2004-01-30
  • 打赏
  • 举报
回复
1。在DataGrid中,有一列是整型的。要实现以下这个功能:<60用红色显示该数据(cell的值);>60用黑色 (10‘)
自己判断,然后设置背景色、前景色
2。如何给列加默认值 (5’)
赋值前先赋默认值。
4。在被ADOData绑定的text中,修改(删除,添加)好数据,如何在MSHFlexGrid同步显示数据 (10')
如果mshflexgrid也绑定,则很麻烦;否则直接从row,column找到cell写text就可以。
啊维 2004-01-30
  • 打赏
  • 举报
回复
3。在DataGrid中某一列,我想用下拉列表框,而不是用编辑框,该怎么做?(10‘)

到这边看看:
http://expert.csdn.net/Expert/topic/2672/2672606.xml?temp=.3196375
啊维 2004-01-30
  • 打赏
  • 举报
回复
完整的查找过程,你参考一下吧

'查找,过程
Private Sub FindData()
On Error GoTo mErr
Dim mRst As New ADODB.Recordset
Dim mItem As ListItem
Lsw1.ListItems.Clear
mRst.Open "SELECT * FROM tOutput1" & mGetWhere, mConnectString, adOpenKeyset, adLockPessimistic, adCmdText
If mGetWhere <> "" Then
Do Until mRst.EOF
Set mItem = Lsw1.ListItems.Add(, , mRst("日期"))
mItem.Tag = mRst("材料出库ID")
If Not IsNull(mRst("单号")) Then mItem.SubItems(1) = mRst("单号")
If Not IsNull(mRst("要货单位")) Then mItem.SubItems(2) = mRst("要货单位")
If Not IsNull(mRst("类别")) Then mItem.SubItems(3) = mRst("类别")
If Not IsNull(mRst("仓库")) Then mItem.SubItems(4) = mRst("仓库")
If Not IsNull(mRst("仓管")) Then mItem.SubItems(5) = mRst("仓管")
If Not IsNull(mRst("复核")) Then mItem.SubItems(6) = mRst("复核")
If Not IsNull(mRst("制单")) Then mItem.SubItems(7) = mRst("制单")
If Not IsNull(mRst("提货人")) Then mItem.SubItems(8) = mRst("提货人")
If IsNumeric(mRst("金额")) Then mItem.SubItems(9) = Format(mRst("金额"), "#0.00")
mRst.MoveNext
Loop
mRst.Close
Set mRst = Nothing
Else
Lsw1.ListItems.Clear
Lsw2.ListItems.Clear
End If
Exit Sub
mErr:
MsgBox Err.Number & Err.Description, vbCritical, mTitle
End Sub

'查找,函数
Private Function mGetWhere() As String
Dim mStr As String
If Chk = 1 Then
mStr = "日期>= '" & Format(dtpDay.Value, "yyyy-mm-dd") & "' and 日期<= '" & Format(DtpDay1.Value, "yyyy-mm-dd") & "'"
End If
'按单号查询
If TextDH.Text <> "" Then
If mStr = "" Then
mStr = "单号 LIKE '" & "%" & TextDH.Text & "%'"
Else
mStr = mStr & " AND 单号 LIKE '" & "%" & TextDH.Text & "%'"
End If
End If
'按经手人查询
If IcbZSR.Text <> "" Then
If mStr = "" Then
mStr = "提货人 LIKE '" & "%" & IcbZSR.Text & "%'"
Else
mStr = mStr & " AND 提货人 LIKE '" & "%" & IcbZSR.Text & "%'"
End If
End If
'按供应商查询
If IcbGhdw.Text <> "" Then
If mStr = "" Then
mStr = "要货单位 LIKE '" & "%" & IcbGhdw.Text & "%'"
Else
mStr = mStr & " AND 要货单位 LIKE '" & "%" & IcbGhdw.Text & "%'"
End If
End If
If leibie.Text <> "" Then
If mStr = "" Then
mStr = "类别 LIKE'" & "%" & leibie.Text & "%'"
Else
mStr = mStr & "AND 类别 LIKE '" & "%" & leibie.Text & "%'"
End If
End If
If icbCk.Text <> "" Then
If mStr = "" Then
mStr = "仓库 LIKE'" & "%" & icbCk.Text & "%'"
Else
mStr = mStr & "AND 仓库 LIKE'" & "%" & icbCk.Text & "%'"
End If
End If
If IcbCG.Text <> "" Then
If mStr = "" Then
mStr = "仓管 LIKE'" & "%" & IcbCG.Text & "%'"
Else
mStr = mStr & "AND 仓管 LIKE'" & "%" & IcbCG.Text & "%'"
End If
End If
mGetWhere = IIf(Trim(mStr) = "", "", " WHERE " & mStr)
End Function

啊维 2004-01-30
  • 打赏
  • 举报
回复
关于查找:
If IcbGhdw.Text <> "" Then
If mStr = "" Then
mStr = "字段名 LIKE '" & "%" & IcbGhdw.Text & "%'"
Else
mStr = mStr & " AND 字段名 LIKE '" & "%" & IcbGhdw.Text & "%'"
End If
End If
caosheng02 2004-01-30
  • 打赏
  • 举报
回复
MSHFlexGrid没有bindtoarray方法呀
华芸智森 2004-01-30
  • 打赏
  • 举报
回复
更正:使用 rs 的GETROWS 和 VSFLEXGRID 的 BINDTOARRAY 方法
华芸智森 2004-01-30
  • 打赏
  • 举报
回复
1.请问:如果MSKFlexGrid不绑定ADOData,我用代码怎么写数据。用AddItem好象不行,每次都只有第一列有数据。

使用 rs 的GOROWS 和 VSFLEXGRID 的 BINDTOARRAY 方法
例如:
private vdata() as variant

function bindtogrid()
...............
vdata=rs.getrows
vsflexgrid1.bindtoarray vdata
end function
athossmth 2004-01-30
  • 打赏
  • 举报
回复
MSHFlexGrid1.Row = intRow
MSHFlexGrid1.Col = intCol
MSHFlexGrid1.Text = strTemp1
MSHFlexGrid1.CellForeColor = vbRed
caosheng02 2004-01-30
  • 打赏
  • 举报
回复
请问:如果MSKFlexGrid不绑定ADOData,我用代码怎么写数据。用AddItem好象不行,每次都只有第一列有数据。
LIQING99002 2004-01-29
  • 打赏
  • 举报
回复
我也有类似问题,密切关注!
caosheng02 2004-01-29
  • 打赏
  • 举报
回复
大家帮帮忙,我急死了。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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