D2007新框架應用
chelen_jak
这个作者很懒,什么都没留下…
展开
-
delphi2007安装说明(备忘)
【声明】操作环境假设如下:1.Delphi安装目录为:D:\Delphi_2007 目录;2.开发工程(项目)目录为:E:\D 目录。【Delphi2007的安装步骤】1.安装Support目录下的程序Microsoft .NET Framework 2.0 (x86) 多国语言版.exe和vjredist.exe.(此步生成WINDOWS\Microsoft.NET\Framework...原创 2014-01-16 17:53:05 · 3959 阅读 · 0 评论 -
动态改变编辑窗体Caption的方法
方法1: 利用窗体OnShow事件(后面不会加“-编辑”或“-查看”)procedure TfrmCustomerBiz.FormShow(Sender: TObject);begin inherited; SmartFormCaption := '客户交易记录'; ...end; 方法2: 利用编辑窗体SmartEditor1控件的BeforeLoadFor原创 2012-03-31 14:31:44 · 1217 阅读 · 0 评论 -
取当前cxGrid
use SmartGridvar aGridView: TSmartGridDBBandedTableView; aGrid: TcxGrid;begin .. //当前Grid(多个Grid时) if Self.ActiveControl is TcxGridSite then begin aGridView := TcxGridSi原创 2012-04-03 17:49:54 · 884 阅读 · 0 评论 -
令编辑窗口只能保存,不能取消
思路: 1.点击“取消”按钮时拦截并给出提示(aCancelExecute方法); 2.点击右上角的交叉时拦截并给出提示(CloseQuery方法);实现方法: procedure TfrmAskVSEditor.aCancelExecute(Sender: TObject);begin if (processor.State in [p原创 2012-04-07 14:42:25 · 753 阅读 · 0 评论 -
cxGrid合计时忽略某些记录
方法由俊哥提供 某些报表要求在Grid中进行分类小计,如下图:合计时应将“小计”行忽略,否则数重复计算了。第1步:定义一个合计过程 procedure cxGrid1DBBandedTableView1DataControllerSummaryFooterSummaryItemsSummary( ASender: TcxDataSummaryItems原创 2012-04-28 12:32:57 · 1533 阅读 · 0 评论 -
TSmartProcessor常用事件的执行顺序
TSmartProcessor常用事件的执行顺序查看文件SmartProcessor.pas可知数据提交是通过 TSmartProcessor 的 ApplyUpdates函数完成。根据ApplyUpdates函数内的执行顺序可以得出TSmartProcessor常用几个事件的执行顺序如下:1.BeforeApplyUpdates //TSmartProcessor.Appl原创 2011-12-02 14:42:20 · 525 阅读 · 0 评论 -
Editor窗体根据编辑状态设定控件状态
.繼承TfrmCustomEditor窗體要對新增/修改狀態發生變化時作相應處理應用BOBrokerStateChange事件 例:procedure TfrmPersonEditor.BOBrokerStateChange(Processor: TSmartProcessor);var bEditing: Boolean;begin bEditing :=原创 2012-05-07 13:58:39 · 534 阅读 · 0 评论 -
在编辑窗口中调用另一窗口并回写数据
procedure TfrmVSEditor.BOBrokerAfterApplyUpdates(Processor: TSmartProcessor; var Applied: Boolean);var ds1: TSmartDataSet;begin inherited; //后续拜访 if (processor.State in [psInsert])原创 2012-04-21 11:48:00 · 702 阅读 · 0 评论 -
设定快搜Caption时注意
意外发现更改TSmartRadioGroupCondition.Caption时竟然会触发重新打开数据,所以设定TSmartRadioGroupCondition.Caption时应将ImmediateExecute为False,当高置完后再将ImmediateExecute为True, 其它用于快搜内的控件有没有此问题有待验证。procedure TfrmCarHelp.SetHelpCon原创 2012-04-23 10:15:05 · 677 阅读 · 0 评论 -
使用TfrmCustomMD(帶樹)时注意事项
1. 常用事件a) SmartBrowser1CreateEditor确定調用那個編輯窗口procedure TfrmProductINI.SmartBrowser1CreateEditor(var FunctionName: string);begin inherited; FunctionName := 'ProductINIEditor';end;b) S原创 2012-05-07 13:53:38 · 1136 阅读 · 0 评论 -
CxGrid合计的设置
CxGrid合计的设置1. 在窗体中放入cxGrid->设好View的DataController.DataSource;2. 设好View显示什么字段; 3. 设置哪些字段要进行合计; 4. 显示出合计的Footer区域; 5. GridMode设为False;原创 2012-06-18 12:04:27 · 5142 阅读 · 0 评论 -
cxGrid合计忽略重复记录
【属性设置】1.cxGrid1DBBandedTableView1.OptionsView.FooterMultiSummaries = True; //如果为False时Footer就只能显示一行2.双击cxGrid在弹出窗口的Summary页签, 加上要合计的Item并设好各个Item的Column、Format和Kind属性。 如下图【代码部份】uses原创 2012-10-17 11:29:12 · 2516 阅读 · 0 评论 -
附件功能
一、DataModule部份, 处理记录删除后将对应的附件信息(文件和记录)删除1.定义变量 private FMyDelID: Variant;2.BeforeDelete事件, 记下被删除的记录ID procedure TDataPI.PIBeforeDelete(DataSet: TDataSet); begin FMyDelID := D原创 2012-03-27 12:32:41 · 857 阅读 · 0 评论 -
调用另一个功能的编辑窗体或单据窗体
调用另一个功能的编辑窗体或单据窗体uses SmartFormIntf, SmartDllProvider, CustomED, , SmartShare【查看】var Form1: TForm; CustomChild: ICustomChild;begin //如果被调用的窗体在同一个Dll中,则'XXX_Crm'可以省去 Form1 :=原创 2011-11-25 15:14:30 · 720 阅读 · 0 评论 -
cxGrid使用点滴
【怎么获得CXGrid中指定列和行的值】cxGridView.DataController.GetRowValue(cxGridView.DataController.GetRowInfo(x), y); 【獲取cxGrid的當前Cell的X,Y座標, 邦定字段, 行列 】//tv1: TcxGridDBBandedTableView; uses cxGridDBT原创 2011-12-19 14:09:00 · 4043 阅读 · 0 评论 -
創建一個簡單的Help窗體
<br /><br /><br />//bteVechileName->Properties->OnButtonClick事件<br />procedure TfrmMTOBill.bteVechileNamePropertiesButtonClick(Sender: TObject;<br /> AButtonIndex: Integer);<br />var<br /> frmHelp: TfrmVehiclePriceHelp;<br /> s1: string;<br />begin<br原创 2010-06-19 12:42:00 · 638 阅读 · 0 评论 -
TSmartDBButtonEdit手動調用Help(Browse)窗體
//引用單元文件uses SmartFormIntf, TypInfo;//edtNameHang->Properties->OnButtonClick事件procedure TfrmMTOBillEditor.edtNameHangPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);var IMainForm: ICustomMain; IListForm: ICustomBrowser; ListForm: TF原创 2010-06-19 12:02:00 · 587 阅读 · 0 评论 -
TSmartDBLookupComboBox使用
TSmartDBLookupComboBox使用常用设定 //编辑DataSet信息 DataBinding.DataField = 'ClassID' DataBinding.DataSource = sMaster DataBinding.DisplayF原创 2011-11-23 18:08:06 · 749 阅读 · 0 评论 -
创建一个新功能模块
创建一个新功能模块 首先用SmartID产生对应的DataModule、BrowseForm和EditorForm, 接下来对每个文件进行相应的设置。【DataModule】1.CN.DataBaseName -- 联接的数据库名称。例:ABC2.DataSet.Caption -- 中文名称。3.DataSet.ProviderName -- Provider的名字,可原创 2011-11-24 18:15:58 · 652 阅读 · 0 评论 -
屏蔽打印功能
屏蔽打印功能 根据CustomBrowser和CustomED中均有过程SetReportActionprocedure TfrmCustomBrowser.SetReportAction;begin Processor.ReportOptions.CanPrint := aPrint.Enabled; Processor.ReportOptions.CanD原创 2011-11-29 11:48:21 · 791 阅读 · 0 评论 -
搜索助手
搜索助手【Browser页面默认显示出搜索助手】 将SmartBrowser1.SearcherHide = False,而不是设dpSearch.AutoHide = False;【即时刷新数据】1.即时刷新数据 properties.ImmediateExecute = True;2.延时刷新数据(按“打开”按钮再刷新) properties原创 2011-11-29 14:51:27 · 581 阅读 · 0 评论 -
对LayoutControl内的控件进行分组1
1. 双击LayoutControl,弹出设计窗口;2. 点击“Add Group..”增加一个分组;3. 将新增加的分组拖到LayoutControl内;如下图: 4. 按平常操作向LayoutControl加上要放在同一组内的控件,并拖到上面第3步的拖出的分组控件内;5. 双击LayoutControl,弹出设计窗口, 选中左边的LayoutItem原创 2011-12-15 11:30:49 · 5372 阅读 · 0 评论 -
对LayoutControl内的控件进行分组2 - 编辑框 + 按钮的排版
编辑框 + 按钮的排版 第1步、设定编辑框的Margins.umRight=False 第2步、中间按钮的Margins.umLeft=False、Margins.umRight=False 和 RunTimeHorzClient=False 第3步、右边按钮的Margins.umRight=False 和 RunTimeHorzClient=False原创 2011-11-30 12:20:54 · 3187 阅读 · 0 评论 -
如何设定按钮是否可用
方法1:运用TSmartEditor.OnSetActionEnabled事件procedure TfrmPIBill.SmartEditor1SetActionEnabled(Sender: TObject);begin aLoad.Enabled := IsEnabledAction(aLoad) and (BOBroker.Processor.State in [psInser原创 2011-12-19 16:37:58 · 720 阅读 · 0 评论 -
在一個繼承TfrmCustomBGB的Form中進行編輯
在一個繼承TfrmCustomBGB的Form中進行編輯一. 窗體部份1.屬性部份 cxGrid1DBBandedTableView1.OptionsData.Editing := True; //設為可以改 cxGrid1DBBandedTableView1.OptionsSelection.InvertSelect := False; //取消反色特別注意: Smar原创 2009-11-27 15:27:00 · 587 阅读 · 0 评论