TPageProducer的OnHTMLTag事件根本不被触发?
我想你是太大意了,仔细查查看!这应该不是问题的.

解决方案 »

  1.   

    可是我真的是找不出什么地方和书上的不一样了,你能不能告诉我可能是什么原因导致的?程序在浏览器中执行的结果就和那个HTML样板是一模一样的根本没有把那个BooksTag替换掉,真发愁,哎!
      

  2.   

    unit ADOWebUnt;interfaceuses
      SysUtils, Classes, HTTPApp, DB, ADODB, DBWeb, HTTPProd;type
      TWebModule1 = class(TWebModule)
        ADOConnection1: TADOConnection;
        DataSetTableProducer1: TDataSetTableProducer;
        ADOTable1: TADOTable;
        ADOTable1ID: TIntegerField;
        ADOTable1Ready_Money: TBCDField;
        ADOTable1Total_Money: TBCDField;
        ADOTable1Last_Act_Date: TDateTimeField;
        ADOTable1Decription: TMemoField;
        ADOTable1State: TBooleanField;
        ADOTable1Name: TWideStringField;
        ADOTable1Tel_fr: TLargeintField;
        ADOTable1Tel_se: TLargeintField;
        ADOTable1Addr: TWideStringField;
        ADOTable1Sex: TBooleanField;
        ADOTable1Machine_Type: TBooleanField;
        ADOTable1OrderFile: TBlobField;
        ADOTable1BuyBook: TBooleanField;
        PageProducer1: TPageProducer;
        procedure DataSetTableProducer1FormatCell(Sender: TObject; CellRow,
          CellColumn: Integer; var BgColor: THTMLBgColor;
          var Align: THTMLAlign; var VAlign: THTMLVAlign; var CustomAttrs,
          CellData: String);
        procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
          const TagString: String; TagParams: TStrings;
          var ReplaceText: String);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      WebModule1: TWebModule1;implementation{$R *.DFM}procedure TWebModule1.DataSetTableProducer1FormatCell(Sender: TObject;
      CellRow, CellColumn: Integer; var BgColor: THTMLBgColor;
      var Align: THTMLAlign; var VAlign: THTMLVAlign; var CustomAttrs,
      CellData: String);
    var
      DataSet: TDataSet;
    begin
      if CellRow <> 0 then
        if CellColumn = 0 then
        begin
          DataSet:= (Sender as TDataSetTableProducer).DataSet;
          CellData:= CellData + '<input type="checkbox" name="ISBN"' + DataSet.FieldByName('ID').AsString;
          CellData:= CellData + '>';
        end;
    end;procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
      const TagString: String; TagParams: TStrings; var ReplaceText: String);
    begin
      if TagString = 'BooksTag' then ReplaceText:= DataSetTableProducer1.Content;
    end;
    end.以下是那个HTML样板的代码!<html><head>
    <meta http-equiv=Content-Type content="text/html; charset=gb2312">
    <meta name="Generator" content="Microsoft Word 10">
    <title>ADO WebBroker 范例应用程序</title>
    </head><body bgcolor="#FFFFFFF"><form method="post">
    <p align="center"><font color="#0000FF" size="6">ADO WebBroker 范例应用程序</p>
    <p align="center">#BooksTag</p>
    <p align="center"><input type="submit" name="btnBuy" value="确认"><input type="reset" name="btnBuy" value="提消"></p>
    </form></body></html>至于组件的属性我都是按书上填的!
      

  3.   

    原来是标记没有用<>括起来啊,谢谢了!