你不需要删除第八个Label,只有把第八条记录删除,再重新
排一遍就可以了(象你刚开始那样排)。

解决方案 »

  1.   

    呵呵,干嘛要用Lable来显示多条记录呢?用DBGrid或StringGrid或ListView或ListBox不行吗??如果非要用Lable,我看你只有在Query或Table的AfterScroll()事件中处理了,不过,要处理的比较好的话,可能也比较麻烦的!!呵呵,劝你还是换个控件吧,用DBCtrlGrid吧,应该是可能满足你的要求的!!
      

  2.   

    哦,我的意思是要删除与第八个Label内容相符的纪录,而不是单删除第八条纪录,
    并且第九个Label上的内容要覆盖第八个的内容,以下如此内推!
      

  3.   

    呵呵,用DBCtrlGrid,将RowCount设为10,应该是可能解决你的问题的吧,呵呵,你为什么不试试呢? 呵呵,你可以看看Delphi带的DBCtrlGrid的例子的,你这问题最适合用DBCtrlGrid了
      

  4.   

    其实用 TStringGrid 完全可以满足用户的需求,且用户也可以看不出来是否使用 Label 控件。
      

  5.   

    你怎么这么笨。
    在你删除某条记录前,也就是你开始是怎么实现数百条纪录分屏显示,一次显示10条(用10个Label显示),
    在你删除一条记录后,又重新这样做一次不就得了。
      

  6.   

    建一个函数:
    (1)接受要删除的记录号
    (2)从数据表中删除指定记录号的记录
    (3)重新获取数据表
    (4)按顺序重新写Label的Caption
      

  7.   

    you can use TDBGrid:
      object DBGrid1: TDBGrid
        Left = 64
        Top = 96
        Width = 320
        Height = 120
        BorderStyle = bsNone
        Color = clScrollBar
        Enabled = False
        Options = [dgEditing, dgColumnResize, dgTabs, dgConfirmDelete, dgCancelOnExit]
        TabOrder = 0
        TitleFont.Charset = DEFAULT_CHARSET
        TitleFont.Color = clWindowText
        TitleFont.Height = -11
        TitleFont.Name = 'MS Sans Serif'
        TitleFont.Style = []
      endtry?