SelectFullRow is True
ColMoving is disabled
GoGrid is true
CODE
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, NxColumns, NxColumnClasses, ExtCtrls, NxScrollControl, NxCustomGridControl,
NxCustomGrid, NxGrid, ActiveX, MsHtml, SHDocVw;
type
TForm1 = class(TForm)
Panel1: TPanel;
NextGrid1: TNextGrid;
Splitter1: TSplitter;
NxTextColumn1: TNxTextColumn;
NxTextColumn2: TNxTextColumn;
NxTextColumn3: TNxTextColumn;
NxTextColumn4: TNxTextColumn;
NxTextColumn5: TNxTextColumn;
NxTextColumn6: TNxTextColumn;
NxTextColumn7: TNxTextColumn;
NxTextColumn8: TNxTextColumn;
NxTextColumn9: TNxTextColumn;
WebBrowser1: TWebBrowser;
procedure FormCreate(Sender: TObject);
procedure NextGrid1SelectCell(Sender: TObject; ACol, ARow: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i,y:shortint;
begin
for i:=0 to 30 do
begin
nextgrid1.AddRow(1);
for y:=0 to nextgrid1.Columns.Count-1 do
nextgrid1.cell[y,i].AsString:=inttostr(i)+'-'+inttostr(y);
end;
end;
procedure TForm1.NextGrid1SelectCell(Sender: TObject; ACol, ARow: Integer);
var i:shortint;
v: Variant;
HTMLDocument: IHTMLDocument2;
HTMLString:WideString;
begin
HTMLString:='';
HTMLString:=HTMLString+'<html>';
HTMLString:=HTMLString+'<head>';
HTMLString:=HTMLString+'</head>';
HTMLString:=HTMLString+'<body>';
for i:=0 to nextgrid1.Columns.Count-1 do
HTMLString:=HTMLString+nextgrid1.Columns[i].Header.Caption+' : '+
nextgrid1.Cell[i,nextgrid1.SelectedRow].AsString+'<BR>';
HTMLString:=HTMLString+'</body>';
HTMLString:=HTMLString+'</html>';
if not assigned(WebBrowser1.Document) then WebBrowser1.Navigate('about:blank')
else (WebBrowser1.Document as IHTMLDocument2).close;
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := HTMLString;
HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, NxColumns, NxColumnClasses, ExtCtrls, NxScrollControl, NxCustomGridControl,
NxCustomGrid, NxGrid, ActiveX, MsHtml, SHDocVw;
type
TForm1 = class(TForm)
Panel1: TPanel;
NextGrid1: TNextGrid;
Splitter1: TSplitter;
NxTextColumn1: TNxTextColumn;
NxTextColumn2: TNxTextColumn;
NxTextColumn3: TNxTextColumn;
NxTextColumn4: TNxTextColumn;
NxTextColumn5: TNxTextColumn;
NxTextColumn6: TNxTextColumn;
NxTextColumn7: TNxTextColumn;
NxTextColumn8: TNxTextColumn;
NxTextColumn9: TNxTextColumn;
WebBrowser1: TWebBrowser;
procedure FormCreate(Sender: TObject);
procedure NextGrid1SelectCell(Sender: TObject; ACol, ARow: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i,y:shortint;
begin
for i:=0 to 30 do
begin
nextgrid1.AddRow(1);
for y:=0 to nextgrid1.Columns.Count-1 do
nextgrid1.cell[y,i].AsString:=inttostr(i)+'-'+inttostr(y);
end;
end;
procedure TForm1.NextGrid1SelectCell(Sender: TObject; ACol, ARow: Integer);
var i:shortint;
v: Variant;
HTMLDocument: IHTMLDocument2;
HTMLString:WideString;
begin
HTMLString:='';
HTMLString:=HTMLString+'<html>';
HTMLString:=HTMLString+'<head>';
HTMLString:=HTMLString+'</head>';
HTMLString:=HTMLString+'<body>';
for i:=0 to nextgrid1.Columns.Count-1 do
HTMLString:=HTMLString+nextgrid1.Columns[i].Header.Caption+' : '+
nextgrid1.Cell[i,nextgrid1.SelectedRow].AsString+'<BR>';
HTMLString:=HTMLString+'</body>';
HTMLString:=HTMLString+'</html>';
if not assigned(WebBrowser1.Document) then WebBrowser1.Navigate('about:blank')
else (WebBrowser1.Document as IHTMLDocument2).close;
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := HTMLString;
HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
end;
end.
Source
This code is for only test my problem.
After webbrowser clicked grid lost selection until restart application.
What's wrong and how can I solve it?
Thank you..











