在节点中,我已把操作日期(数据库中为日期时间型)变有日期型添加成功,但没还没想到如何在点击节点后,也就是日期型的数据,赋值给一个DbGrid中的Filter...肯请不吝赐教........

解决方案 »

  1.   

    TreeView的OnClick事件,treeview.Selected.Text
      

  2.   

    但这样是选不到数据的,因为TreeView.Selected.Text是日期型,而数据表中是日期时间型,有没有更好的办法?
      

  3.   

    用FormatDateTime()转换一下试试吧
      

  4.   

    在节点中,我已把操作日期(数据库中为日期时间型)变有日期型添加成功,但没还没想到如何在点击节点后,也就是日期型的数据,赋值给一个DbGrid中的Filter
    /////////////////////////////////////////////////////////////
    汉语水平有限,看不懂,麻烦楼主再描述一遍,越详细越好!
      

  5.   

    TreeView的OnClick事件,treeview.Selected.Text
    然后用FormatDateTime()转换你数据库里的那个日期型就可以啦
      

  6.   

    datetimetostr(treeview1.selected.text);应该也可以;
      

  7.   

    在查询中可以这样表示FormatDateTime('YYYYMMDD',Adoquery1['日期'])
    在Filter中该怎么表示?
      

  8.   

    最好用指针,如
    type
    PP = TA^;
    TA = record
        FDateTime: TDateTime;
    end;在OnMouseDown事件中用TreeView1.GetNodeAt(X, Y)取得节点,即
    with PP(TreeView1.GetNodeAT(X, Y).Data)^ do
        DBGrid1.DataSource.DataSet.Filtered := False;
        DBGrid1.DataSource.DataSet.Filter := 'somefieid = ''' + FormatDateTime('yyyy-MM-dd', FDataTime) + '''';
        DBGrid1.DataSource.DataSet.Filtered := True;
    end;
      

  9.   

    请问SUNVSH(SUNV):FDateTime是定义了就可以吗?
      

  10.   

    procedure TF_main.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    var IndexId,
        ParentId,
        LevelId:integer;
        nodeText,
        ParentText,
        ParentSQLText:string;
    begin
         IndexId:=Node.Index;                                     //索引
         ParentId:=node.Parent.Index;                             // 父亲索引
         LevelId:=Node.Level;                                     // 层
         nodeText:=Node.Text;                                     //文本
         if ParentId<>-1
          then
           ParentText:=Node.Parent.Text;                          //父亲文本
         if LevelId=2
          then
           ParentSQLText:=node.Parent.Parent.Text;           //父亲的父亲的文本
         
         .....end;
      

  11.   

    sunvsh(sunv) 最好用指针,如
    type
    PP = TA^;
    TA = record
        FDateTime: TDateTime;
    end;在OnMouseDown事件中用TreeView1.GetNodeAt(X, Y)取得节点,即
    with PP(TreeView1.GetNodeAT(X, Y).Data)^ do
        DBGrid1.DataSource.DataSet.Filtered := False;
        DBGrid1.DataSource.DataSet.Filter := 'somefieid = ''' + FormatDateTime('yyyy-MM-dd', FDataTime) + '''';
        DBGrid1.DataSource.DataSet.Filtered := True;
    end;
    __________________________________________________________________________________这里的FDateTime是怎么定义的?
      

  12.   

    问题是这样的,TreeView中,是文本的日期,比如:'2004-1-13',但数据库中是日期时间型,就是后面还带了时间的,怎么能在DBGRID中的Filter中,让所有匹配'2004-1-13'的数据显示出来................
      

  13.   

    DBGrid1.DataSource.DataSet.Filter := 'aField>=2004-1-13 and aField<2004-1-14';
      

  14.   

    supxp() 可行,刚忘了开过滤器,谢谢,结贴