⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intraweb开发指南.htm

📁 HR人力资源 (修改版) 含开发手记
💻 HTM
📖 第 1 页 / 共 5 页
字号:
            lang=EN-US>emInsert</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">。下面是代码实现:</SPAN></P>
            <P><SPAN lang=EN-US>//</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">修改公司信息</SPAN></P>
            <P><SPAN lang=EN-US>procedure TformCorpList.iwnCorpEdit(Sender: 
            TObject);</SPAN></P>
            <P><SPAN lang=EN-US>begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; //inherited;//</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">注意这里不要调用</SPAN><SPAN 
            lang=EN-US>TIWDBNavigator</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">默认的方法</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; FEditForm.EditMode:=emEdit;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; 
            FEditForm.CorpId:=dmhr.badoCorp.FieldByName('CorpId').AsInteger;//</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">传递键值进去</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; // </SPAN><SPAN 
            style="FONT-FAMILY: 宋体">显示编辑窗体</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; FEditForm.Show;</SPAN></P>
            <P><SPAN lang=EN-US>end;</SPAN></P>
            <P><SPAN lang=EN-US>//</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">添加公司信息</SPAN></P>
            <P><SPAN lang=EN-US>procedure TformCorpList.iwnCorpInsert(Sender: 
            TObject);</SPAN></P>
            <P><SPAN lang=EN-US>begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; //inherited;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; FEditForm.EditMode:=emInsert;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; // </SPAN><SPAN 
            style="FONT-FAMILY: 宋体">显示编辑窗体</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; FEditForm.Show;</SPAN></P>
            <P><SPAN lang=EN-US>end;</SPAN></P>
            <P><SPAN 
            style="FONT-FAMILY: 宋体">对于删除的实现需要一些特殊处理,这里我们不能使用</SPAN><SPAN 
            lang=EN-US>TIWDBNavigator</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">默认的</SPAN><SPAN 
            lang=EN-US>Delete</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">按钮来实现,因为</SPAN><SPAN 
            lang=EN-US>Intraweb</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">默认是先执行删除操作,然后才调用</SPAN><SPAN 
            lang=EN-US>OnClick</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">事件,也就是说我们无法在删除前判断是否允许删除,因为公司下面可能会有很多的员工信息,当公司下员工数目不为零时,我们应该禁止删除公司,所以这里要用</SPAN><SPAN 
            lang=EN-US>Button</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">来实现(注意:在</SPAN><SPAN lang=EN-US>intraweb 
            5.0.35</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">版本中有这个问题,新的版本是否解决了我就不清楚了)。下面是删除的实现代码:</SPAN></P>
            <P><SPAN lang=EN-US>procedure TformCorpList.iwbDeleteClick(Sender: 
            TObject);</SPAN></P>
            <P><SPAN lang=EN-US>begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; inherited;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; //</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">因为</SPAN><SPAN 
            lang=EN-US>IWDBNavigator</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">默认情况下是先删除,然后才调用我们的事件,因此需要修改这一</SPAN></P>
            <P><SPAN lang=EN-US>//</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">处理过程,所以只好是用</SPAN><SPAN 
            lang=EN-US>Button</SPAN><SPAN style="FONT-FAMILY: 宋体">来实现</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; with dmHR do</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; 
            badoQuery.Active:=False;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; 
            badoQuery.CommandText:=format('Select count(*) as HumanCount from 
            tblhuman where CorpID=%s', 
            [badoCorp.FieldByName('CorpID').AsString]);</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; 
            badoQuery.Active:=True;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; if 
            badoQuery.FieldByName('HumanCount').AsInteger&gt;0 then</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            WebApplication.ShowMessage('</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">先删除该公司下所有的人员信息后才能删除该公司</SPAN><SPAN 
            lang=EN-US>');</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; end;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; badoCorp.Delete;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; end;</SPAN></P>
            <P><SPAN lang=EN-US>end;</SPAN></P>
            <P><SPAN 
            style="FONT-FAMILY: 宋体">最后就是公司信息编辑界面的实现了,下面是编辑界面的示意图:</SPAN></P>
            <P><SPAN lang=EN-US><IMG height=314 
            src="IntraWeb开发指南.files/image020.jpg" width=348 
            v:shapes="_x0000_i1034"> </SPAN></P>
            <P><SPAN 
            style="FONT-FAMILY: 宋体">如果当前编辑操作是添加的话,需要设定界面上的信息为空,如果为编辑则要获得公司信息,填充界面编辑框,下面是实现代码:</SPAN></P>
            <P><SPAN lang=EN-US>const</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; sCorpIdNotFound = '</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">无法找到相应的公司信息</SPAN><SPAN 
            lang=EN-US>!';</SPAN></P>
            <P><SPAN lang=EN-US>procedure TformEditCorp.SetCorpId(const Value: 
            Integer);</SPAN></P>
            <P><SPAN lang=EN-US>begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; FCorpId := Value;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; //</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">更新界面上的编辑框</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; if not dmHR.badoCorp.Locate('CorpId', 
            Value, []) then</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; raise 
            Exception.Create(sCorpIdNotFound);</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; with dmHR.badoCorp do</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; iweChnName.Text := 
            FieldByName('ChnName').AsString;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; iweEngName.Text := 
            FieldByName('EngName').AsString;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; iwePhone.Text := 
            FieldByName('Phone').AsString;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; iweFax.Text := 
            FieldByName('Fax').AsString;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; iwmChnInfo.Lines.Text := 
            FieldByName('ChnInfo').AsString;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; iwmEngInfo.Lines.Text := 
            FieldByName('EngInfo').AsString;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; iwmComments.Lines.Text := 
            FieldByName('Comments').AsString;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; end;</SPAN></P>
            <P><SPAN lang=EN-US>end;</SPAN></P>
            <P><SPAN lang=EN-US>procedure TformEditCorp.SetEditMode(const Value: 
            TEditMode);</SPAN></P>
            <P><SPAN lang=EN-US>begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; FEditMode := Value;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; case FEditMode of</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; emEdit: iwlTitle.Caption := 
            '</SPAN><SPAN style="FONT-FAMILY: 宋体">编辑公司信息</SPAN><SPAN 
            lang=EN-US>';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; emInsert:</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iwbEdit.Caption := '</SPAN><SPAN 
            style="FONT-FAMILY: 宋体">增加公司</SPAN><SPAN lang=EN-US>';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iweChnName.Text := '';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iweEngName.Text := '';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iwePhone.Text := '';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iweFax.Text := '';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iwmChnInfo.Lines.Text := '';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iwmEngInfo.Lines.Text := '';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            iwmComments.Lines.Text := '';</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; end;</SPAN></P>
            <P><SPAN lang=EN-US>end;</SPAN></P>
            <P><SPAN lang=EN-US>procedure TformEditCorp.iwbEditClick(Sender: 
            TObject);</SPAN></P>
            <P><SPAN lang=EN-US>var</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; S:String;</SPAN></P>
            <P><SPAN lang=EN-US>begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp; case EditMode of</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp; emEdit:</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with dmHR 
            do</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            adocHR.BeginTrans;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            try</SPAN></P>
            <P><SPAN 
            lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            //</SPAN><SPAN style="FONT-FAMILY: 宋体">这里直接用</SPAN><SPAN 
            lang=EN-US>Sql</SPAN><SPAN style="FONT-FAMILY: 宋体">来实现的</SPAN></P>
            <P><SPAN 
            lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            adocEdit.CommandText :=</SPAN></P>
            <P><SPAN lang=EN-US>format('Update TblCorp Set ChnName=''%s'', 
            EngName=''%s'', Fax=''%s'', </SPAN></P>
            <P><SPAN lang=EN-US>Phone=''%s'', ChnInfo=''%s'', EngInfo=''%s'', 
            Comments=''%s'' Where </SPAN></P>
            <P><SPAN lang=EN-US>CorpID=%d', [iweChnName.text, iweEngName.text, 
            iweFax.Text, iwePhone.Text,</SPAN></P>
            <P><SPAN lang=EN-US>iwmChninfo.Lines.Text, iwmEngInfo.Lines.Text, 
            iwmComments.Lines.Text, </SPAN></P>
            <P><SPAN lang=EN-US>CorpId]);</SPAN></P>
            <P><SPAN 
            lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            adocEdit.Execute;</SPAN></P>
            <P><SPAN 
            lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            adocHR.CommitTrans;</SPAN></P>
            <P><SPAN 
            lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            badoCorp.Refresh;</SPAN></P>
            <P><SPAN lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            except</SPAN></P>
            <P><SPAN 
            lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -