起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: huixiangtao

功能窗体的代码实现编号的添加以及自增一功能问题**

[复制链接]
发表于 2008-12-12 17:36:09 | 显示全部楼层
我觉得楼主做的有点复杂了吧,直接使用append就可以了,append后,是数据集的状态从浏览转为编辑,如果还想浏览,append后,在post就可以了。为啥要代码一个一个填写呢,不是很明白?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-12 21:48:32 | 显示全部楼层
因为要填写的内容是通过TCPclient刚刚从客户端收到的,所以必须是动态填充的,但是“编号”可以服务器这段自动生成
回复 支持 反对

使用道具 举报

发表于 2008-12-13 10:21:59 | 显示全部楼层
那你append一下,那么自动填充的属性都填充进来了,
如果有些需要代码来填写,那么再代码赋值就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-14 12:26:48 | 显示全部楼层
楼主说的方法就是我用的方法,append之后,自动填充的属性没有填充,?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-14 12:33:42 | 显示全部楼层
赋值的字段倒是都赋上了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-14 15:22:27 | 显示全部楼层
楼上这句话说的不够清楚,append,之后,再ApplyUpdates,初始化运行,赋值的字段都赋上了
回复 支持 反对

使用道具 举报

发表于 2008-12-15 09:12:05 | 显示全部楼层
最初由 huixiangtao 发布
[B]楼主说的方法就是我用的方法,append之后,自动填充的属性没有填充,? [/B]

你仔细检查下你的自动填充的设置。是否满足自动填充的条件。
回复 支持 反对

使用道具 举报

发表于 2008-12-15 09:18:01 | 显示全部楼层
1、请把你的代码贴出来看看
2、请把你定义的自动填充属性的界面设置也一起贴出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-15 22:05:00 | 显示全部楼层
procedure TBJJKGNTCPFS.xmlMsg2DB(xmlData:String);
var
// xmlDoc:TXMLDocument;
  xmlDoc:IXMLDOMDocument;
  rootNode,curNode:IXMLDOMNode;
  i:Integer;
  s,sAlarmType,sAlarmId:String;
begin
  Borland.Delphi.ActiveX.CoInitialize(nil);
     ////DataSet
  if not dsb_Alarm.DataSet.Active then
    begin
    dsb_Alarm.DataSet.Active:=true;
    dsb_Alarm.DataSet.Open;
  end;
   dsb_Alarm.DataSet.First;
  //  xmlDoc:= TXMLDocument.Create(nil);//delphi
    xmlDoc:= ComObj.CreateOleObject('Microsoft.XMLDOM') as IXMLDOMDocument;
    //xmlDoc.LoadFromXML(xmlData);// delphi
    xmlDoc.loadXML(xmlData);
   // xmlDoc.Active:=true;
  //  rootNode:=xmlDoc.DocumentElement; // rootNode
   rootNode:=xmlDoc.DocumentElement as IXMLDOMNode;
   curNode:=xmlDoc.DocumentElement.getElementsByTagName('alarmitem').item[0];
   try
      if curNode <> nil then
     begin
           dsb_Alarm.DataSet.Append; //因故障xml只有一条报警,故只须插入一次
         sAlarmId:=dsb_Alarm.DataSet.FieldByName('F_Alarm_ID').AsString;
         for i :=0  to curNode.ChildNodes.Get_length -1 do
           begin
           if curNode.childNodes.Get_baseName='unit_type' then
               dsb_Alarm.DataSet.FieldByName('F_Device_Type').AsString:=curNode.ChildNodes.get_text;

           if curNode.childNodes.Get_baseName='unit_ID' then
               dsb_Alarm.DataSet.FieldByName('F_Device_ID').AsString:=curNode.ChildNodes.get_text;

           if curNode.childNodes.Get_baseName='alarm_type' then
             begin
                dsb_Alarm.DataSet.FieldByName('F_Alarm_Type').AsString:=curNode.ChildNodes.get_text;
                sAlarmType:=curNode.ChildNodes.get_text;
              end;
           if curNode.childNodes.Get_baseName='alarm_value' then
               dsb_Alarm.DataSet.FieldByName('F_Alarm_Value').AsString:=curNode.ChildNodes.get_text;

           if curNode.childNodes.Get_baseName='alarm_level' then
               dsb_Alarm.DataSet.FieldByName('F_Alarm_Level').AsString:=curNode.ChildNodes.get_text;

           if curNode.childNodes.Get_baseName='alarm_time' then
               dsb_Alarm.DataSet.FieldByName('F_Alarm_Time').AsString:=curNode.ChildNodes.get_text;

           if curNode.childNodes.Get_baseName='alarm_location' then
           dsb_Alarm.DataSet.FieldByName('F_Alarm_Location').AsString:=curNode.ChildNodes.get_text;
         end;
          dsb_Alarm.DataSet.ApplyUpdates;
          //edtXmlData.Text:=s;
          dsb_Alarm.DataSet.Refresh;
          DataGrid1.Refresh;
     end;
    except
       on e:exception do
        jsDialogs.ShowMsg(e.Message,'Xml-->DataBase Failed!');
    end;
     //启动流程

    // sAlarmId:=dsb_Alarm.DataSet.FieldByName('F_Alarm_ID').AsString;
    // sAlarmType:=dsb_Alarm.DataSet.FieldByName('F_Alarm_Type').AsString;
     MonitorDevice(sAlarmId,sAlarmType);
end;

           if curNode.childNodes.Get_baseName='alarm_description' then
           dsb_Alarm.DataSet.FieldByName('F_Alarm_Info').AsString:=curNode.ChildNodes.get_text;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-15 22:13:54 | 显示全部楼层
图片1

未命名.jpg

90.14 KB, 下载次数: 115

回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 09:06 , Processed in 0.044318 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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