起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 280|回复: 3

[搞定]关于DataGrid代码增加列的问题

[复制链接]
发表于 2007-10-9 17:30:00 | 显示全部楼层 |阅读模式
代码如下:
var s:TTreeListColumn;

s:=TTreeListColumn.Create(self);
s.caption:='联系人';
TKHLB(docview2.doc).DataGrid.AddColumn(sl;
TKHLB(docview2.doc).DataGrid.Columns[11].FieldName:='KHLXR';
为什么一执行SQL程序就自动退出?
把最后一句去掉就不出错了,但增加的列怎么和字段联起来?
回复

使用道具 举报

发表于 2007-10-10 08:45:11 | 显示全部楼层
楼主,单步调试一下,看报什么错误!
回复 支持 反对

使用道具 举报

发表于 2007-10-10 09:52:03 | 显示全部楼层
//动态增加字段
procedure TSJWG1.Button6Click(Sender: TObject);
var
  lBizField : TBizField;
  lColumn: TDataGridColumn;
begin
  //动态增加列字段,并增加DataGrid列
  lBizField := TUserDataField.Create(nil);
  lBizField.DataSet := InfoBroker.Info.DataSets[0];//DataSetBrokerZDYSJJ1.DataSet;
  lBizField.ID :='GS';                            //设置字段ID
  lBizField.DataType := TDataType.dtFloat;          //设置字段类型
  lBizField.Size := 20;                            //设置字段大小
  lBizField.DisplayName := 'AA|公司';
  lColumn := TDataGridColumn(DataGrid.CreateColumnByClassName('TDataGridColumn'));
  // 字符串表示列的类型,可以是'TDataGridColumn', 'TDataGridImageColumn','TDataGridMaskColumn'
  lcolumn.Name:='TDataGridColumn'+'GS';
  lColumn.FieldName :='GS' ;//'KF'; // 邦定GUID字段
  Business.Forms.Dialogs.Showmessage('增加字段成功!');
end;

//动态删除刚才创建的字段
procedure TSJWG1.Button7Click(Sender: TObject);
var
  lBizField : TBizField;
  lColumn: TDataGridColumn;
begin
  //动态删除列字段,并删除DataGrid列
  lColumn := TDataGridColumn(DataGrid.ColumnByName('TDataGridColumn'+'GS'));
  lColumn.Free;
  DataGrid.Refresh;
  lBizField := InfoBroker.Info.DataSets[0].BizFieldByName('GS');
  lBizField.Free;
  InfoBroker.Info.DataSets[0].Refresh;
  Business.Forms.Dialogs.Showmessage('删除字段成功!');
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-10 10:14:58 | 显示全部楼层
谢谢!可以了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-28 14:09 , Processed in 0.039850 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表