首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 上一页``下一页``代码是不是有问题``有点问题``帮帮看下 [已结贴,结贴人:wxhs_sg]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 18:43:45 楼主
    上一页``下一页``代码是不是有问题``有点问题``帮帮看下
    该帖包含附件:http://dl2.csdn.net/down4/20080326/26183956521.rar
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 18:45:511楼 得分:0
    第一页``上一页``下一页``最后页``顺序好象乱了``帮忙看下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 20:58:082楼 得分:10
    你的表里没有记录啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 21:07:473楼 得分:0
    估计你是做毕业论文什么的!

    要改正的问题:
    1.你应该把照片路径,姓名,文件名写到数据表中去.
    2.不应该用label作为操作对象,因为label不能获得焦点,应用按钮,如果要好看,在按钮上添加图片.
    3.由于路径名和文件名是放在数据表中的,所以不用加文本框.
    4.在按钮的上一个,下一个里,照样移动和判定记录位置,但在移至新的一行时,在图片框中加载一个由表记录获得的文件位置和文件名,这样,图片框中的图片就会随按钮的点击而改变了.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-27 08:37:114楼 得分:20
    请参考:

    设计一组维护记录的命令按钮

    *-------------------------------------

    设计思路:
        1.该命令按钮组含有[新增]、[修改]、[删除]、[存储]、[取消]等命令按钮。
        2.在运行新增或修改功能时,除了[存储]、[取消]按钮可操作,其余按钮都设置为禁止状态,防止使用者操作不当引起错误。
        3.不是运行新增或修改功能时,除了[存储]、[取消]按钮为禁止状态外,其它按钮都是可以选择操作。
        4.在运行新增或修改功能时,光标自动会跳到第一个输入框(文本框)中。  

    设计步骤:
        1、从[表单控件]工具栏点工具按钮,添加一个命令按钮组到表单上,默认有Command1和Command2两个命令按钮。  

        2.设置CommandGroup对象的AutoSize属性为.T.,BottonCount属性为5,Name属性为UpdateBtn。  

        3.设置其中的各个按钮属性如下:
    Command1:Caption="新增" FontSize=12 Name=CmdNew
    Command2:Caption="修改" FontSize=12 Name=CmdEdit
    Command3:Caption="删除" FontSize=12 Name=CmdDel
    Command4:Caption="存储" FontSize=12 Name=CmdSave
    Command5:Caption="取消" FontSize=12 Name=CmdCancel

    4.在表单新增一属性UpDateMode,用于存储表单当前是否处于可编辑状态(即新增或修改状态),初始值为.f.。

    5.在表单上所有可编辑对象的When Event方法程序里都写上一句: RETURN ThisForm.UpDateMode

    6.设置表单的数据环境的表缓冲模式为“3-开放式行缓冲”。

    7.因为在编写代码时一般要控制定位记录的按钮,以下编写代码假设表单上存在另一组用于定位记录的按钮组,取名为Navigator,其中的四个按钮分别为:
    首记录:CmdTop;
    上一记录:CmdPrior;
    下一记录:CmdNext;
    末记录:CmdBottom

    8.编写[新增]按钮的Click Event方法程序的代码:
    ThisForm.UpdateMode=.t. &&进入新增状态后,将该属性的值设为.t.,每个字段可编辑 Append Blank
    With This.Parent
    .Parent.Refresh
    .CmdNew.Enabled=.f.
    .CmdEdit.Enabled=.f.
    .CmdDel.Enabled=.f.
    .CmdSave.Enabled=.t.
    .CmdCancel.Enabled=.t.
    .Parent.Navigator.SetAll("Enabled",.f.) &&将记录定位按钮设置为禁止状态
    .Parent.Text1.SetFocus &&进入新增状态后,光标自动进入第一个输入框。
    EndWith

    9.编写[修改]按钮的Click Event方法程序的代码:
    ThisForm.UpdateMode=.t.
    With This.Parent
    .Parent.Refresh
    .CmdNew.Enabled=.f.
    .CmdEdit.Enabled=.f.
    .CmdDel.Enabled=.f.
    .CmdSave.Enabled=.t.
    .CmdCancel.Enabled=.t.
    .Parent.Navigator.SetAll("Enabled",.f.)
    .Parent.Text1.SetFocus EndWith

    10.编写[删除]按钮的Click Event方法程序的代码:
    nSure=MessageBox("是否确定删除此记录?",4+32+256,"警告")
    if nSure=6
    Delete
    Skip
    If Eof()
    Go Bottom
    With This.Parent
    .Parent.Navigator
    .CmdTop.Enabled=.t.
    .CmdPrior.Enabled=.t.
    .CmdNext.Enabled=.f.
    .CmdBottom.Enabled=.t.
    EndWith
    Else
    This.Parent.Parent.Navigator.SetAll("Enabled",.t.)
    EndIf
    This.Parent.Parent.Refresh
    EndIf

    说明:为了提高程序运行效率,应将程序的运行环境中的Set Deleted设置为On,即隐藏删除记录,但是在运行删除命令后,必须移动记录指针,被删除的记录才会隐藏。一般来说在删除记录后应该用TableUpdate()更新原始表,但这里我们开始将数据环境设置为开放式的行缓冲,所以Skip以后会自动更新。

    11.编写[存储]按钮的Click Event方法程序的代码:
    ThisForm.UpdateMode=.f. &&恢复编辑框的只读状态
    =TableUpdate(.f.) &&将缓冲区所编辑的数据写回原始记录。
    With This.Parent
    .CmdNew.Enabled=.t.
    .CmdEdit.Enabled=.t.
    .CmdDel.Enabled=.t.
    .CmdSave.Enabled=.f.
    .CmdCancel.Enabled=.f.
    .Parent.Navigator.SetAll("Enabled",.t.)
    EndWith

    12.编写[取消]按钮的Click Event方法程序的代码:
    ThisForm.UpdateMode=.f. &&恢复编辑框的只读状态
    =TableRevent(.f.)
    If Eof()
    Go Bottom
    With This.Parent
    .Parent.Navigator
    .CmdTop.Enabled=.t.
    .CmdPrior.Enabled=.t.
    .CmdNext.Enabled=.f.
    .CmdBottom.Enabled=.t.
    EndWith
    Else
    This.Parent.Parent.Navigator.SetAll("Enabled",.t.)
    EndIf
    With This.Parent
    .CmdNew.Enabled=.t.
    .CmdEdit.Enabled=.t.
    .CmdDel.Enabled=.t.
    .CmdSave.Enabled=.f.
    .CmdCancel.Enabled=.f.
    .Parent.Refresh
    EndWith

    13.在Form的load里写:
    Set Deleted On
    Go Top
      在Form的Unload里写:
    Set Deleted Off
    至此编写一组记录维护的命令按钮组基本完成,你可以将这组命令按钮保存为类方便今后调用。当然在情况发生变化的时候仍需要修改相应的代码以适应新的情况。


    *----------------------------------------------------------------------

    以下是一个简单的例子,请参考使用:

    设表名为:BOTO1
    设表字段:NAME,SEX,AGE 均为字符型,长度10。
    建立一个表单:DEMO.SCX
    表单上有:
    四个按钮:添加、保存、删除、退出
    三个文本框:TEXT1、TEXT2、TEXT3
    一个Grid表:

    表单的Load事件:
    USE boto1

    表单的Init事件:
    THIS.GRID1.RECORDSOURCE='BOTO1'
    THIS.GRID1.DELETEMARK=.F.
    THIS.GRID1.READONLY=.T.
    FOR I=1 TO 3
    J=ALLTRIM(STR(I))
    THIS.TEXT&J..ENABLED=.F.
    ENDFOR
    This.Text1.Value=ALLTRIM(name)
    This.Text2.Value=ALLTRIM(sex)
    This.Text3.Value=ALLTRIM(age)

    表单的Unload事件:
    USE IN BOTO1

    Grid的AfterRowColChange事件:
    LPARAMETERS nColIndex
    ThisForm.Text1.Value=ALLTRIM(name)
    ThisForm.Text2.Value=ALLTRIM(sex)
    ThisForm.Text3.Value=ALLTRIM(age)
    thisform.refresh

    添加按钮的Click事件:
    IF MESSAGEBOX('是否使用录前值?',4+32+256,'信息提示')=7
    ThisForm.text1.value=''
    ThisForm.text2.value=''
    ThisForm.text3.value=''
    ENDIF
    ThisForm.text1.Enabled= .T.
    ThisForm.text2.Enabled= .T.
    ThisForm.text3.Enabled= .T.
    ThisForm.Text1.SetFocus

    保存按钮的Click事件:
    APPEND BLANK
    replace name WITH ALLTRIM(thisform.text1.value)
    replace sex WITH ALLTRIM(thisform.text2.value)
    replace age WITH ALLTRIM(thisform.text3.value)
    ThisForm.text1.Enabled= .f.
    ThisForm.text2.Enabled= .f.
    ThisForm.text3.Enabled= .f.
    Thisform.grid1.Refresh

    删除按钮的Click事件:
    IF MESSAGEBOX('是否删除此条记录?',4+32+256,'信息提示')=7 OR RECCOUNT('BOTO1')=0
    RETURN
    ENDIF
    SELECT BOTO1
    DELETE
    THISFORM.GRID1.RECORDSOURCE=NULL
    PACK
    THISFORM.GRID1.RECORDSOURCE='BOTO1'
    GO TOP
    THISFORM.GRID1.REFRESH

    退出按钮的Click事件:
    Thisform.Release
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved