小编Rub*_*ube的帖子

Delphi Berlin 10.1 IXMLDOCUMENT根节点前缀

我想在Delphi Berlin 10.1中创建XML,我需要获取这样的文件:

<?xml version="1.0" encoding="UTF-8"?>
<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
  <FatturaElettronicaHeader>
    <DatiTrasmissione>
      <IdTrasmittente>
        <IdPaese>IT</IdPaese>
        <IdCodice>01234567890</IdCodice>
      </IdTrasmittente>
      <ProgressivoInvio>00001</ProgressivoInvio>
      <FormatoTrasmissione>FPA12</FormatoTrasmissione>
      <CodiceDestinatario>AAAAAA</CodiceDestinatario>
    </DatiTrasmissione>
...
Run Code Online (Sandbox Code Playgroud)

我写了这个程序

    procedure Tfattura2_new_form.Button1Click(Sender: TObject);
    Var
      XML : IXMLDOCUMENT;
      RootNode, CurNode, header[...]: IXMLNODE;
    begin
      XML := NewXMLDocument;
      XML.Encoding := 'utf-8';
      XML.Options := [doNodeAutoIndent]; 
      RootNode := XML.AddChild('FatturaElettronica');
      RootNode.Attributes['versione']:='FPA12';
      RootNode.DeclareNamespace('ds','http://www.w3.org/2000/09/xmldsig#');
      RootNode.DeclareNamespace('p','http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2');
      RootNode.DeclareNamespace('xsi','http://www.w3.org/2001/XMLSchema-instance');
   [...]

      header := RootNode.AddChild('FatturaElettronicaHeader');
      DatiTrasmissione := header.AddChild('DatiTrasmissione');

      IdTrasmittente :=  DatiTrasmissione.AddChild('IdTrasmittente');
          [...]
    XMl.SaveToFile('C:\file.xml');
end;
Run Code Online (Sandbox Code Playgroud)

现在问题是我需要在根节点中有前缀p(p:FatturaElettronica ...)但如果我不知道如何:如果我设置

RootNode := XML.AddChild('p:FatturaElettronica');
Run Code Online (Sandbox Code Playgroud)

在xml文件中,我在每个标签中都有前缀p :.

<?xml version="1.0" encoding="utf-8"?>
<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" …
Run Code Online (Sandbox Code Playgroud)

xml delphi xmldocument

3
推荐指数
1
解决办法
759
查看次数

Fmx TStringGrid 行颜色

我在 Delphi 10.1 的多设备应用程序(在 Windows 上)中遇到问题。我有一个StringGrid(连接到数据库),我可以更改行的背景颜色,但问题是单元格之间有“填充”(灰色/银色)。

在onformCreate我定义中:

stringgrid1.DefaultDrawing := False;
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

procedure Tlist_form.StringGrid1DrawColumnCell(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF;
  const Row: Integer; const Value: TValue; const State: TGridDrawStates);
   var aRowColor: TBrush;
begin
  aRowColor := Tbrush.Create(TBrushKind.Solid,TAlphaColors.Alpha);


  if (stringgrid1.Cells[7,row]='1') then 
        aRowColor.Color := TAlphaColors.Green
    else
      aRowColor.Color := TAlphaColors.Red;

    Canvas.FillRect(Bounds, 0, 0, [], 1, aRowColor);
    Column.DefaultDrawCell(Canvas, Bounds, Row, Value, State);

  aRowColor.free;

end; 
Run Code Online (Sandbox Code Playgroud)

在 Delphi 6 中我从未遇到过这个问题,而且我不知道如何解决它。谢谢。

delphi background-color firemonkey stringgrid delphi-10.1-berlin

2
推荐指数
1
解决办法
4825
查看次数

在javascript中对对象的关联数组进行排序

我在js中有一个特定的对象数组,表示一个表的列.我的目标是:

var columns = {
  "image": {
    "show": false,
    "orderable": true,
    "value": 0,
    "displayOrder":2
  },
  "name": {
    "show": true,
    "orderable": true,
    "value": 1,
    "displayOrder":0
  },
  "company": {
    "show": false,
    "orderable": false,
    "value": 2,
    "displayOrder":1
  }
}
Run Code Online (Sandbox Code Playgroud)

我必须通过"displayOrder"来订购对象,但是使用类似的函数

columns.sort(function(a, b) {
  return parseFloat(a.displayOrder) - parseFloat(b.displayOrder); 
});
Run Code Online (Sandbox Code Playgroud)

显然它会返回一个错误.我怎么能这样做?

javascript sorting jquery associative-array datatables

0
推荐指数
1
解决办法
3867
查看次数