现想达到如下目的:     程序中有一个Form控件,一个Button按钮和一个DBrid控件
    
     现在使DBGrid控件的dgRowSelect属性为true,假设DBrid中现在有2行数据。要求:     当用鼠标单击DBrid中第一行数据时,Button按钮变为红色.单击第二行数据时,Button按钮变为黑色。请问应该怎样操作DBrid内的函数呢?  谢谢

解决方案 »

  1.   

    在dbgrid的单击事件中添加:
    tmp:=TDrawGrid(dbgrid1).Row;
    if tmp=1 then
      button变红;
    if tmp=2 then
      button变黑;
      

  2.   

    但我还想问个问题:      如果DBrid中有一个字段名叫销售单号,在第一行中销售单号的值是001,而在第二行中销售单号的值是005,在第三行中销售单号的值又是007…………,那么又怎样根据鼠标所选销售单号的值来实现上述功能呢? 谢谢
      

  3.   

    判断销售单号,实现什么功能?没有说清楚呀是不是大概是这个意思
    var tmp:string;
    tmp:=table1.fieldbyname(销售单号).asstring;
    if tmp='001' then
      button变红;
    if tmp='005' then
      button变黑;
      

  4.   

    大概是我没有表述清楚吧,我想要实现的不是你这个意思。我的意思是:当用鼠标点击DBGrid中的任意一行时,能够根据DBGrid中‘销售单号’这个字段值的不同判断我现在鼠标选择的是DBGrid中的哪一行。
    (比如现在鼠标点击‘销售单号’为007的这一行,那程序就应该知道我现在选择的是第三行。)