Delphi 动态创建GridPanel

Delphi 如何动态创建GridPanel
procedure TForm12.FormCreate(Sender: TObject);
var
grdpnl: TGridPanel;
lbl: TLabel;
img: TImage;
begin
grdpnl := TGridPanel.Create(self);
grdpnl.Parent := pnl1;
grdpnl.Align := alTop;
grdpnl.Height := 38;
grdpnl.Caption := 'grdpnl1';
// grdpnl.BevelOuter := bvNone;
grdpnl.ColumnCollection.Add.SizeStyle := ssAbsolute;
grdpnl.ColumnCollection.Add.Value := 10;
grdpnl.ColumnCollection.Add.SizeStyle := ssAbsolute;
grdpnl.ColumnCollection.Add.Value := 50;
grdpnl.ColumnCollection.Add.SizeStyle := ssAbsolute;
grdpnl.ColumnCollection.Add.Value := 10;
grdpnl.ColumnCollection.Add.SizeStyle := ssPercent;
grdpnl.ColumnCollection.Add.Value := 100;
grdpnl.ColumnCollection.Add.SizeStyle := ssAbsolute;
grdpnl.ColumnCollection.Add.Value := 40;
grdpnl.RowCollection.Add.SizeStyle := ssPercent;
grdpnl.RowCollection.Add.Value := 50;
grdpnl.RowCollection.Add.SizeStyle := ssAbsolute;
grdpnl.RowCollection.Add.Value := 17;
grdpnl.RowCollection.Add.SizeStyle := ssPercent;
grdpnl.RowCollection.Add.Value := 50;
//创建lbl
lbl := TLabel.Create(grdpnl);
lbl.Parent := grdpnl;
lbl.Left := 10;
lbl.Top := 10;
lbl.Width := 50;
lbl.Height := 17;
lbl.Align := alClient;
lbl.Caption := '张自力';
lbl.Font.Name := '微软雅黑';
lbl.Font.Color := $00333333;
lbl.Font.Charset := GB2312_CHARSET;
lbl.Font.Size := 9;
lbl.Layout := tlCenter;
这样写不起作用啊,还有Label应该如何分配Colum和Row

2个回答

grdpnl: TGridPanel;
lbl: TLabel;
img: TImage;

声明放到全局去,局部的过程执行完被自动释放了。

var
grdpnl: TGridPanel;
lbl: TLabel;
img: TImage;

procedure TForm12.FormCreate(Sender: TObject);
begin
//创建代码
end;

procedure TForm12.FormDestroy(Sender: TObject);
begin
grdpnl.free;
lbl.free;
img.free;
end;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ext.net 动态创建gridpanel
使用ext.net代码动态创建gridpanel后任意显示在各种窗口中
Delphi动态创建浏览器,动态创建
Delphi动态创建浏览器,动态创建,http://www.akux.cn
ext.net动态创建GridPanel后分页问题
本人新手,接触ext.net不久,最近项目中遇到棘手的问题:GridPanel分页第一次加载数据时,所有数据都显示在第一页,点击翻页按钮后,数据分页又是正常的,不得其解啊[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/18.gif][/img][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/18.gif][/img]rn第一次加载数据后(数据分页不正常):rn[img=http://img.my.csdn.net/uploads/201304/12/1365748271_5940.png][/img]rn点击翻页按钮后(数据分页正常):rn[img=http://img.my.csdn.net/uploads/201304/12/1365748348_9820.png][/img]rnrn源代码如下:rnaspx页面:rnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrnrncs页面绑定数据源码:rnpublic void BindGridPanelData(User user, IDictionary showFieldData, IDictionary sortFieldData, string query)rn rn //清除旧数据与记录集rn this.employeeInfoStore.Reader.Clear();rn this.gpEmployeeInfo.ColumnModel.Columns.Clear();rn //定义JsonReaderrn var jsonReader = new JsonReader();rn IList recordFieldList = new List();rn List columns = new List();rn foreach (KeyValuePair field in showFieldData)rn rn //创建字段rn recordFieldList.Add(new RecordField Name = field.Key.Split('.')[1].TrimStart('[').TrimEnd(']') );rn //创建列rn Column column = new Column Header = field.Value, DataIndex = field.Key.Split('.')[1].TrimStart('[').TrimEnd(']'), Editable = false, Width = new Unit(150) ;rn columns.Add(column);rn rn jsonReader.Fields.AddRange(recordFieldList);rn this.gpEmployeeInfo.ColumnModel.Columns.AddRange(columns);rn this.employeeInfoStore.Reader.Add(jsonReader);rn this.pagingbar.PageSize = SafeConvert.ToInt32(this.PageSize_ComboBox.SelectedItem.Value);rn this.pagingbar.PageIndex = 0;rn //绑定数据rn DataTable table = enquiryStatisticalService.GetTableByQuery(null, user, SetShowField(showFieldData), query, SetSortField(sortFieldData));rn this.employeeInfoStore.DataSource = table;rn this.employeeInfoStore.DataBind();rn this.gpEmployeeInfo.Render(); [color=#FF0000]//不加此句,store中有数据,数据分页正常,但是GridPanel中无法显示数据[/color]rn
ext 4.2.1 gridpanel动态创建列和数据
original.fieldsNames.add("name:'"+str+"'")rn original.colName.add("text:'"+str+"',dataIndex:'"+str+"'")rn在后台进行拼装的数据 str是列名rnrnrn function fnData(msg)rn Ext.define('original',rn extend: 'Ext.data.Model'rn , fields: msg.fieldsNamesrn );rnrn if (Ext.getCmp("originalGrid") != undefined) rn Ext.getCmp("originalGrid").destroy();rn rn if (Ext.getCmp("originalStore") != undefined) rn Ext.getCmp("originalStore").remove();rn rn//rn var store = Ext.create('Ext.data.JsonStore', rn model: 'original',rn id:'originalStore',rn proxy: rn type: 'ajax',rn root:'root',rn totalProperty:'totalCount'rn rn );rnrn var cm = Ext.create('Ext.grid.ColumnModel',msg.colName)rnrn // create the gridrn var grid = Ext.create('Ext.grid.Panel', rn frame: true,rn id:'originalGrid',rn title: '原始指标列表',rn store: store,rn columns: [rn cmrn ],rnrn renderTo:'dataList'rn );rn rnmsg是后台返回的内容 但是这样还是不行 求帮忙指教指教
delphi 动态创建菜单实例
delphi 动态创建菜单实例 ,这个是我自己测试通过的代码用于delphi 7中。
Delphi 动态创建 tab 控件
Delphi XE 动态创建tab控制程序(通用控件WC_TABCONTROL-SysTabControl32), 完全 Windows API 源代码实现多页对话窗口,一个子窗口可以改变大小和关闭。
delphi 动态创建分页和按钮
利用delphi原始的控件和代码实现对tablesheet动态添加分页,并在分页中添加按钮
Delphi动态创建控件
现在我动态创建了TIMage控件 也写了它双击的事件 但是我想在双击的时候获取这个Image控件的名称rn请问怎么写
DELPHI 动态创建按钮 BUTTONG
DELPHI XE 10 动态建立按钮,XE10下可直接使用。可以直接用
Delphi 动态创建Panel
Delphi 动态创建panel,在panel上再创建TRzBackground,显示背景,创建TBmpButton,有鼠标移动事件和单击事件
动态创建控件的示例delphi
动态创建控件的原程序,共给大家学习. case commandstr of 0:begin i1:=i; btn[i1]:=TButton.Create(Self); btn[i1].Parent:=form2; btn[i1].Visible:=false; btn[i1].Name:='btn'+inttostr(i1); btn[i1].Left:=Lefta; btn[i1].Width:=widtha; btn[i1].top:=topa; btn[i1].Height:=heighta; BTN[I1].Caption:=COMCAP; btn[i1].Show; end;
Delphi动态创建子窗口例子
Delphi动态创建子窗口例子procedure TForm1.mlskntlbr2ItemDown(Sender: TObject; const ItemIndex: Integer); begin case ItemIndex of 0: ShowSubForm(Form2, TForm2); 1: ShowSubForm(Form3, TForm3...
delphi 动态创建access 表
代码如下:rnprocedure Tdbbuckup.BitBtn5Click(Sender: TObject);rnvarrn Source:string;rn CreateDB:Variant;rn path : string;rnbeginrn SaveDialog1.Filter:='All files (*.mdb)|*.*';rn SaveDialog1.FileName:='DataBack'+FormatDateTime('yyyyMMddhhmmss',now);rn if SaveDialog1.Execute thenrn beginrn path:=SaveDialog1.FileName;rn //判断数据库是否已经存在rn if FileSearch(path,ExtractFileDir(Application.ExeName))<>'' thenrn beginrn Application.MessageBox('数据库已经存在!','提示',64);rn exit;rn endrn elsern beginrn // 创建数据库rn Source:='Provider=Microsoft.Jet.OLEDB.4.0;'rn +'Data Source='+path+'.mdb';rn tryrn CreateDB:=CreateOleObject('ADOX.Catalog');rn CreateDB.Create(Source);rn Application.MessageBox('数据库创建成功','提示',64);rn memo1.Lines.Add(' 导出数据');rn memo1.Lines.Add(FormatDateTime('',now)+': '+'创建数据库成功');rn memo1.Lines.Add(FormatDateTime('',now)+': '+'创建路径:'+path+'.mdb');rn exceptrn Application.MessageBox('数据库创建失败','提示',64);rn end;rn end;rn end;rnrn //创建数据库中的表rn ADO.ConnectionString:=Source;rn ADO.Connected:=true;rnrn ADOQuery2.Connection:=ADO;rn spfjdh;rnrnend;rn//rnprocedure Tdbbuckup.spfjdh;rnbeginrn ADOQuery2.Close;rn ADOQuery2.SQL.Clear;rn sql:= 'create table spfjdh '+rn '(编号 COUNTER PRIMARY KEY,' +rn ' 进货单号 varchar,'+rn ' 进货商 varchar,'+rn ' 进货日期 datetime,'+rn ' 应付金额 CURRENCY,'+rn ' 实付金额 CURRENCY,'+rn ' 欠款金额 CURRENCY,'+rn ' 费用 CURRENCY,'+rn ' 付款人 varchar,'+rn ' 付款说明 memo,'+rn ' 操作员 varchar,'+rn ' 经办人 varchar,'+rn ' 结账 bit,'+rn ' 审核 varchar,'+rn ' 备注 varchar,'+rn ' 备注1 memo)' ;rn ADOQuery2.SQL.Add(sql);rn tryrn ADOQuery2.ExecSQL;rn memo1.Lines.Add('创建表: spfjdh ;属性说明 商品进货总金额 ; 成功');rn //查询表名rnrn exceptrn Application.MessageBox('数据表创建失败','提示',64);rn memo1.Lines.Add('创建表: spfjdh ;属性说明 商品进货总金额 ; 失败');rn end;rnend;rnrn原因:导出数据前动态创建一个与原数据库同样的表结构.rn原数据库图片:rn[img=http://hi.csdn.net/attachment/201108/24/3022106_1314185109Zdi4.jpg][/img]rn新数据库图片rn[img=http://hi.csdn.net/attachment/201108/24/3022106_1314185211tiB8.jpg][/img]rn问题:就是‘结账’这个布尔值,是哪里错了吗?
delphi 控件的动态创建
我在用delphi时,在程序中我用了循环语句让它动态创建一个label控件,rn它们名字都是一样的,怎么样才能让这些label组件一起的释放,我用了free,但只对一条有作用啊!rn谢谢各位大侠!1
delphi动态创建数组控件
用动态创建数组控件,如果只是几个的话,窗体在创建和关闭的时候不会觉得慢。如果要是几十个的话,在窗体创建和关闭的时候就会发现很慢。我想请教各位高手,有什么办法解决这个问题。
delphi 删除动态创建的控件
如题所示!
delphi 下动态创建Access数据库
在Delphi6.0环境下,动态创建Access数据库的例子,并能将数据表导出到sql数据库中。包含全部文件。
delphi 动态创建ODBC
该软件目前只提供了SQLSERVER、DB2、ACCESS三种数据库的ODBC创建 用到的第三方控件有VCL SKIN,在盒子里有下载的
delphi中动态创建的问题
function Create_object;rnvar frm_temp: Tform;rn Btn_temp: Tbutton;rnbeginrn frm_temp:= Tfrm.create(nil);rn frm_temp.caption:= 'XXX';rn btn_temp:= Tbutton.create(frm_temp);rn frm_temp.show;rnend;rnfrm_temp到是看见了,但btn_temp到哪去了呢?另外我还想在frm_temp上创建一个rnProgressBar1,该怎么写呀?
delphi 动态创建access数据表
delphi 动态创建access数据表
delphi 动态创建窗口的问题??
各位老大,问一下如何rnApplication.CreateForm(Findclass('TF_showform'), TForm('F_showform'));rn用代变量方法创建窗口.rn试过几种方法如:rnvarrnFromname,classname:string;rnFindForm:TForm;rnFindFormClass:TFormClass;rnrnFromname :='F_showform';rnFindForm :=Tform(Fromname);rnclassname:='T'+'F_showform';rnFindFormClass:=TFormClass(Findclass(classname));rnif FindFormClass<>nil thenrnbeginrn application.Createform(FindFormClass,FindForm);rn FindForm.Show;rnend;rn到FindFormClass:=TFormClass(Findclass(classname)); 报错rn提示没有发现Class.rnrn请问谁有好的方法,帮小弟解决一下!!!!!谢了
delphi 入门之《动态创建菜单》
由于在项目中用到动态创建菜单的功能,简单的记录下,主要是根据json的配置文件动态的创建菜单,用到的有一个json菜单配置文件,json转换的工具类SuperObject,具体的代码如下所示: 1、json配置文件 [choj] HomeUrl= MenuUrl= menu=[{"name":"主菜单1","children":[{"name":"主菜单1_1","url":""},{"nam
Delphi动态创建数据模块
Delphi动态创建数据模块
delphi 动态创建TClientSocket
delphi 动态创建TClientSocket后,rnClientSocket:= TClientSocket.Create(nil);rnClientSocket.OnRead := MySocketRead;rnprocedure MySocketRead(Sender: TObject; Socket: TCustomWinSocket);rnbeginrn这里为什么收不到信息啊??rnend;rn连接也是正常的,server端也发送数据了,客户端这就是什么信息也没收到。rn怎么能将我定义的事件与Clientsocket绑定在一起呢???
delphi如何动态创建多线程
我看别人的程序可以 动态输入创建线程的数量rn在编辑框中 输入创建的线程去执行一个过程rnrnrnrn求如何动态创建多线程 delphi 感谢
delphi 动态创建菜单?
选择ListView里的某行数据,点击按钮,菜单栏自动添加以ListView名称的菜单。rn并保存到数据库里,下次启动还有这个菜单,该怎么实现,麻烦给出代码参考?
delphi编程实现动态创建database link
请问如何使用delphi编程动态实现database link?
delphi 动态创建toolbar中的按钮
要求:rn(1) 根据业务需要,动态创建toolbar中的按钮。rn(2) 可按需调整按钮的位置。rnrn各位大侠,请帮忙给个思路。
delphi ——用ADOCOMMAND 动态创建触发器
急救:!!!delphi中rnadocommand.CommandType:=CMDTEXT;rnadocommand.commandtext:=' create or replace trigger TRI_ZXD'+rn' before insert on ZXD_BB '+rn' for each row '+rn'begin SELECT SEQ_BBLSH.NEXTVAL INTO :NEW.BBLSH FROM DUAL; '+rn' end TRI_ZXD; ';rnrn adocommand.ExecuteOptions:=adocommand.ExecuteOptions+[eoExecuteNoRecords];rn my_command.Prepared:=true;rnadocommand.execute;rn创建触发器失败。程序把 :new.nextval替换成了值。如何处理rn急
delphi程序运行时动态创建控件.
delphi程序运行时动态创建控件.delphi程序运行时动态创建控件.
Delphi是否可以动态创建函数?
Delphi是否可以动态创建函数?rn能否实现这样的功能:rn线程中动态创建TCPClient,然后动态创建进度条,进度条实时显示通讯进度。rn我的思路是想写一个onWork函数,然后传递进度条参数给这个函数。由于自己写的onwork函数必须和TCPClient的onwork事件参数一样,这样就无法传递动态创建的进度条对象了。rn或者动态创建函数不是个好主意?
delphi(excel动态创建和二维图)
DELPHI动态创建EXCEL,实现二维图,不用使用控件。操作起来比较方便,灵活。里面主要是一些函数。
delphi 动态创建的panel的位置显示
procedure TForm1.SetPanelPostion(APanel: TPanel; AColumn, AIndex: integer); var iRow, iColumn: integer; begin iRow := AIndex div AColumn; iColumn := AIndex mod AColumn; APanel.Left := iSpace + (iWidth+iSpace)*iColumn; APanel.Top := iSpace + (iHeight+iSpace)*iRow; end;
delphi动态创建tspeedbutton如何写事件?
delphi动态创建了一组tspeedbutton按钮如何给这些按钮写上OnMouseDown,OnMouseLeave,onClick等事件呢?
Delphi动态创建多个子窗体的问题!
在一个Form1窗体上放置了一个DBCtrlGrid和一个Button1,DBCtrlGrid用来显示数据表里所有的用户,选中某个用户,点Button1,便可创建一个相应的动态窗体,rn但是当同时打开几个用户的对应窗体时,(比如依次动态创建了f1,f2,f3),只能对f3操作,就算对f1,f2操作(比如说,按f1窗体的“退出”按钮,就会把f3的窗体关掉,而且f3关掉后,f1,f2任何按钮都失效)rnrn为什么,怎么解决啊,rn第一次发贴,毕业设计着急,谢谢啦rn
Delphi动态创建视图,很难的喔!!!
在数据库设计过程中,动态创建和使用视图相当有用,可惜我费尽心机就是实现不了。rn我的方法如下:rn 将创建视图的语句放在Query控件中,然后执行。它老是提示错误,是什么原因?rn为什么使用SQL Exploer可以,其原理是什么?高分奉送,急急急!!!rn
delphi中如何动态创建access数据库
delphi中如何动态创建access数据库rn并在创建的数据库中再动态创建表啊?
Delphi 多线程使用数组动态创建
我是新人,想问一个问题,rn如何在不使用线程池的情况下,建立一个动态的线程数组来创建多个线程呢?rn比如rnTH:array[0..9] of Thread;rn在窗体的Button中使用代码rnFor i:=0 to 9 dornTH[i]:=Thread.create(false);rn这样就依次创建了10个线程.rn但是.如果我想使用这10个线程操作Listbox中的数据.如何操作呢.rnListbox中的数据有一两千行.怎么才能让这10个线程处理Listbox内的每行数据.写入到Memo中呢?rn这10个线程如果使用Create传值的话,也只能传入10个数值.也就相当于只能传入rnListbox.items.strings[i] 这里的I在循环内最多为9,也就是相当于Listbox内10行数据.rnrnrn最后,明确一下我的问题:rn我想使用10个线程处理listbox内的1000行数据到Memo中.rn新人就20分全部家当,不要嫌少噢.希望有例子的朋友发个源码参考一下.小弟在此谢过了!
delphi如何调用动态创建的控件
delphi中动态创建了Form1,Label1,chart1,可是不知道在chart1的mousemove中如何调用label1啊?恳求高手赐教。
Delphi XLgrid 动态创建下拉框列
Delphi XLgrid 动态创建下拉框列 由于自己要用XLgrid 实现excel导入,但是有一些列想动态设置为 下拉框,并且能自动填充设置的东西。 百度网上资料都没有找到。自己琢磨了一天,看了看源码,终于试出来了。在此分享给大家。----可乐 Delphi XLGrid 动态创建列 动态设置 formatCell属性。 比如 要设置1行1列的格子为 下拉框 ...
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件