转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
TStringGrid使用(1)         ★★★★

TStringGrid使用(1)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1250 更新时间:2009/4/23 18:29:28
ecordset.PageSize :=spinedit1.Value;
Edit1.Text := IntToStr(ADoquery1.Recordset.PageCount);
ShowData(spinedit2.Value);
end;

//然后将AbsolutePage的数据乾坤大挪移到StringGrid1中
procedure TForm1.ShowData(page:integer);
var
iRow, iCol, iCount : Integer;
rs : ADOInt.Recordset;
begin
ADoquery1.Recordset.AbsolutePage:=Page;
Currpage:=page; 
iRow := 0;
iCol := 1;
stringgrid1.Cells[iCol, iRow] := ''''FixedCol1'''';
Inc(iCol);
stringgrid1.Cells[iCol, iRow] := ''''FixedCol2'''';
Inc(iRow);
Dec(iCol);
rs := adoquery1.Recordset;
for iCount := 1 to SpinEdit1.Value do
begin
  stringgrid1.Cells[iCol, iRow] := rs.Fields.Get_Item(''''FieldName1'''').Value;
  Inc(iCol);
  stringgrid1.Cells[iCol, iRow] := rs.Fields.Get_Item(''''FieldName1'''').Value;
  Inc(iRow);
  Dec(iCol);
  rs.MoveNext;
end;
 
//上一页
procedure TForm1.Button2Click(Sender: TObject);
begin
If (CurrPage)<>1 then
  ShowData(CurrPage-1);
end;

//下一页
procedure TForm1.Button3Click(Sender: TObject);
begin
If CurrPage<>ADoquery1.Recordset.PageCount then
  ShowData(CurrPage+1);
end;


打印StringGrid的程序源码这段代码没有看懂,但是可能有的朋友需要,所以共享一下子 :)
procedure TForm1.SpeedButton11Click(Sender: TObject);
Var
Index_R ,ALeft: Integer;
Index : Integer;
begin
StringGrid_File(''''D:\AAA.TXT'''');
if Not LinkTextFile then
begin
  ShowMessage(''''失败'''');
  Exit;
end;
//
QuickRep1.DataSet := ADOTable1;
Index_R := ReSize(StringGrid1.Width);
ALeft := 13;
Create_Title(TitleBand1,ALeft,24,HeaderControl1.Sections.Items[0].Width,20,
  HeaderControl1.Sections[0].Text,taLeftJustify);
with Create_QRDBText(DetailBand1,ALeft,8,StringGrid1.ColWidths[0],20,
    StringGrid1.Font,taLeftJustify) do
begin
  DataSet := ADOTable1;
  DataField := ADOTable1.Fields[0].DisplayName;
end;
ALeft := ALeft + StringGrid1.ColWidths[0] * Index_R + Index_R;
For Index := 1 to ADOTable1.FieldCount - 1 do
begin
  Create_VLine(TitleBand1,ALeft - 13,16,1,40);
  Create_Title(TitleBand1,ALeft,24,HeaderControl1.Sections.Items[Index].Width,20,
   HeaderControl1.Sections[Index].Text,taLeftJustify);
  Create_VLine(DetailBand1,ALeft - 13,-1,1,31);
  with Create_QRDBText(DetailBand1,ALeft ,8,StringGrid1.ColWidths[Index] * Index_R,20,
    StringGrid1.Font,taLeftJustify) do
  begin
   DataSet := ADOTable1;
   DataField := ADOTable1.Fields[Index].DisplayName;
  end;
  ALeft := ALeft + StringGrid1.ColWidths[Index] * Index_R + Index_R;
end;
QuickRep1.Preview;
end;

function TForm1.ReSize(AGridWidth: Integer): Integer;
begin
Result := Trunc(718 / AGridWidth);
end;

function TForm1.StringGrid_File(AFileName: String): Boolean;
var
StrValue : String;
Index : Integer;
ACol , ARow : Integer;
AFileValue : System.TextFile;
begin
StrValue := '''''''';
Try
  AssignFile(AFileValue , AFileName);
  ReWrite(AFileValue);
  StrValue := HeaderControl1.Sections[0].Text;
  For Index := 1 to HeaderControl1.Sections.Count - 1 do
   StrValue := StrValue + '''','''' + HeaderControl1.Sections[Index].Text;
  Writeln(AFileValue,StrValue);
  StrValue := '''''''';
  For ARow := 0 To StringGrid1.RowCount - 1 do
  begin
   StrValue := '''''''';
   StrValue := StringGrid1.Cells[0,ARow];
   For ACol := 1 To StringGrid1.ColCount - 1 do
   begin
    StrValue := StrValue + '''', '''' + StringGrid1.Cells[ACol,ARow];
   end;
   Writeln(AFileValue,StrValue);
  end;
Finally
  CloseFile(AFileValue);
end;
end;

function TForm1.LinkTextfile: Boolean;
begin
Result := False;
with ADOTable1 do
begin
  {ConnectionString := ''''Provider=Microsoft.Jet.OLEDB.4.0;'''' +
            ''''Data Source= D:\;Extended Properties=Text;'''' +
            ''''Persist Security Info=False'''';
  TableName := ''''AAA#TXT'''';
  Open;    }
  if Active then
   Result := True;
end;
end;

function TForm1.Create_QRDBText(Sender: TWinControl; ALeft, ATop, AWidth,
AHight: Integer; AFont: TFont; AAlignMent: TAlignment): TQRDBText;
var
AQRDBText : TQRDBText;
begin
AQRDBText := TQRDBText.Create(Nil);
with AQRDBText do
begin
  Parent := Sender;
  Left := ALeft;
  Top := ATop;
  Width := AWidth;
  Height := AHight;
  AlignMent := AAlignMent;
  Font.Assign(AFont);
end;
Result := AQRDBText;
end;

function TForm1.Create_VLine(Sender: TWinControl; ALeft, ATop, AWidth,
AHight: Integer): TQRShape;
var
AQRShapeV : TQRShape;
begin
AQRShapeV := TQRShape.Create(Nil);
with AQRShapeV do
begin
  Parent := Sender;
  Left := ALeft;
  Top := ATop;
  Width := AWidth;
  Height := AHight;
end;
Result := AQRShapeV;
end;

procedure TForm1.Create_Title(Sender: TWinControl; ALeft, ATop, AWidth,
AHight: Integer; ACaption: String; AAlignMent: TAlignment);
var
AQRLabel : TQRLabel;
begin
AQRLabel := TQRLabel.Create(Nil);
with AQRLabel do
begin
  Parent := Sender;
  Left := ALeft;
  Top := ATop;
  Width := AWidth;
  AlignMent := AAlignMent;
  Caption := ACaption;
end;
end;

上一页  [1] [2] 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台