{"id":2343,"date":"2024-11-26T21:56:52","date_gmt":"2024-11-26T13:56:52","guid":{"rendered":"http:\/\/www.jh1999.cn\/?p=2343"},"modified":"2025-04-23T11:26:31","modified_gmt":"2025-04-23T03:26:31","slug":"%e7%94%a8iwadvwebgrid%e5%b1%95%e7%a4%ba%e7%94%bb%e5%bb%8a","status":"publish","type":"post","link":"http:\/\/www.jh1999.cn\/?p=2343","title":{"rendered":"\u753b\u5eca(\u56fe\u5e93)\u5c55\u793a"},"content":{"rendered":"<div class=\"gb-container gb-container-b3abba47\">\n\n<p class=\"wp-block-paragraph\">\u7528Intraweb\u5f00\u53d1\u56fe\u7247\u7ba1\u7406\u7684\u4e91\u5e73\u53f0\uff0c\u5176\u4e2d\u4e00\u4e2a\u5173\u952e\u7684\u529f\u80fd\u662f\u5efa\u753b\u5eca\uff0c\u6839\u636e\u7528\u6237\u641c\u7d22\u51fa\u6765\u7684\u6570\u636e\uff0c\u4ee5\u753b\u5eca\u5f62\u5f0f\u5c55\u793a\u8fd9\u4e9b\u8d44\u6599\u5bf9\u5e94\u7684\u56fe\u7247\u3002\u672c\u6587\u8bb0\u5f55\u5b9e\u9645\u6848\u4f8b\uff0c\u7528IWAdvWebGrid\u5c55\u793a\u4ea7\u54c1\u6e05\u5355\u7684\u753b\u5eca\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u3001\u7ed8\u5236\u753b\u5eca\u7684\u4ee3\u7801\u3002\u53d8\u91cf\u8bf4\u660e\uff1aiID&#8211;\u7b2c\u51e0\u7b14\u8bb0\u5f55\uff1biColSum&#8211;\u753b\u5eca\u5206\u51e0\u680f\u5c55\u793a\uff1bsPicFile&#8211;\u56fe\u7247\u6587\u4ef6\u7684\u5b8c\u6574\u5730\u5740\uff1bsUrlFile&#8211;\u56fe\u6587\u4ef6\u7684URI\u5730\u5740\uff1b\u56fe\u7247\u6587\u4ef6NoPhoto.png\u7528\u4e8e\u67d0\u4ea7\u54c1\u6ca1\u6709\u56fe\u7247\u65f6\u7684\u66ff\u4ee3\u56fe\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmwpdPhoto.myDrawGrid;\nvar\n  iID,iCol,iRow:Integer;\n  sPicFile,sUrlFile,sValue:String;\nbegin\n  awGrid.ClearCells;\n  qMaster.First;\n  awGrid.TotalRows:=ceil(qMaster.RecordCount\/iColSum);\n  awGrid.RowCount:=awGrid.TotalRows;\n  iID:=0;\n  iCol:=0;\n  iRow:=0;\n  while not qMaster.Eof do\n  begin\n    iCol:=(iID mod iColSum);\n    iRow:=floor(iID\/iColSum);\n    sValue:=qMaster.FieldByName('RecId').AsString+'.jpg';\n    sPicFile:=IWServerController.ContentPath+'ProdFiles\\'+sValue;\n    if FileExists(sPicFile) then\n      sUrlFile:='\/ProdFiles\/'+sValue\n    else\n      sUrlFile:='\/ProdFiles\/NoPhoto.png';\n    sValue:='';\n    sValue:=sValue+' &lt;img data-id=\"'+qMaster.FieldByName('RecId').AsString+'\"';\n    sValue:=sValue+' title=\"\u7535\u538bV:'+qMaster.FieldByName('pdVoltage').AsString;\n    sValue:=sValue+' \u529f\u7387w:'+qMaster.FieldByName('pdPower').AsString;\n    sValue:=sValue+' \u98ce\u91cfft:'+qMaster.FieldByName('pdWindVol').AsString;\n    sValue:=sValue+' \u98ce\u91cdg:'+qMaster.FieldByName('pdWindNW').AsString;\n    sValue:=sValue+' \u566a\u97f3dB:'+qMaster.FieldByName('pdNoise').AsString+'\"';\n    sValue:=sValue+' src=\"'+sUrlFile+'\" width=\"232\" height=\"232\" style=\"margin:0px;\"&gt;';\n    sValue:=sValue+'&lt;br&gt;'+qMaster.FieldByName('pdNum').AsString;\n    sValue:=sValue+' '+qMaster.FieldByName('pdType').AsString;\n    awGrid.AsyncSetCell(iCol,iRow,sValue);\n    qMaster.Next;\n    iID:=iID+1;\n  end;\n  if awGrid.TotalRows&gt;5 then awGrid.RowCount:=5;\n  awGrid.AsyncUpdateAllCells;\nend;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e8c\u3001PC\u7528\u6237\u7aef\u70b9\u51fb\u56fe\u7247\uff0c\u5c55\u793a\u4ea7\u54c1\u5b8c\u6574\u56fe\u7247\u53ca\u4ea7\u54c1\u8be6\u7ec6\u4fe1\u606f\u7684\u4ee3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmwpdPhoto.awGridAsyncLinkClick(Sender: TObject;\n  EventParams: TStringList; RowIndex, ColumnIndex: Integer);\nvar\n  sValue,sLine:String;\n  i1,i2:Integer;\n  slData:TStringList;\n  sFileName,sTmpFile,sTmpUrl:String;\nbegin\n  inherited;\n  sValue:=awGrid.Cells&#91;ColumnIndex,RowIndex];\n  sValue:=StringReplace(sValue,' ','',&#91;rfReplaceAll]);\n  i1:=14;\n  i2:=pos('title=',sValue);\n  sValue:=copy(sValue,i1,i2-i1-1);\n  qMaster.Locate('RecId',sValue,&#91;]);\n  slData:=TStringList.Create;\n  slData.Add('&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;');\n  slData.Add('&lt;title&gt;\u4ea7\u54c1\u7ec6\u8282@\u4ea7\u54c1\u7ba1\u7406&lt;\/title&gt;');\n  slData.Add('&lt;style&gt;img{margin:0 20px;}&lt;\/style&gt;&lt;\/head&gt;');\n  sLine:='&lt;img src=\"\/ProdFiles\/'+qMaster.FieldByName('RecId').AsString+'.jpg\" align=\"left\"&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u7f16\u53f7\uff1a'+qMaster.FieldByName('pdNum').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u985e\u578b\uff1a'+qMaster.FieldByName('pdType').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u65e5\u671f\uff1a'+qMaster.FieldByName('pdDate').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u54c1\u724c\uff1a'+qMaster.FieldByName('pdBrand').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u578b\u53f7\uff1a'+qMaster.FieldByName('pdDesc').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u7535\u538b\uff1a'+qMaster.FieldByName('pdVoltage').AsString+'V&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u529f\u7387\uff1a'+qMaster.FieldByName('pdPower').AsString+'W&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u98ce\u91cf\uff1a'+qMaster.FieldByName('pdWindVol').AsString+'ft\/min&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u98ce\u91cd\uff1a'+qMaster.FieldByName('pdWindNW').AsString+'g&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u566a\u97f3\uff1a'+qMaster.FieldByName('pdNoise').AsString+'dB&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u5b58\u653e\uff1a'+qMaster.FieldByName('pdLocation').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u5907\u6ce8\uff1a'+qMaster.FieldByName('Remark').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;p&gt;\u89c4\u683c\uff1a'+qMaster.FieldByName('pdSpecs').AsString+'&lt;\/p&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;br&gt;&lt;a rel=\"nofollow\" href=\"javascript:window.close()\"&gt;\u3010\u5173\u95ed\u3011&lt;\/a &gt;';\n  slData.Add(sLine);\n  sLine:='&lt;\/body&gt;&lt;\/html&gt;';\n  slData.Add(sLine);\n  sFileName:=UserSession.sys_UsID + FormatDateTime('HHMMSS',now())+'.html';\n  sTmpFile:=webApplication.UserCacheDir+sFileName;\n  if FileExists(sTmpFile) then SysUtils.DeleteFile(sTmpFile);\n  slData.SaveToFile(sTmpFile,TEncoding.UTF8);\n  slData.Free;\n  sTmpUrl:=StringReplace(sTmpFile,IWServerController.ContentPath,'\/',&#91;]);\n  webApplication.NewWindow(sTmpUrl);\nend;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e09\u3001\u624b\u673a\u7aef\u70b9\u51fb\u56fe\u7247\uff0c\u5c55\u793a\u4ea7\u54c1\u5b8c\u6574\u56fe\u7247\u53ca\u4ea7\u54c1\u8be6\u7ec6\u4fe1\u606f\u7684\u4ee3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmmpdPhoto.awGridAsyncLinkClick(Sender: TObject;\n  EventParams: TStringList; RowIndex, ColumnIndex: Integer);\nvar\n  sValue,sLine:String;\n  i1,i2:Integer;\n  slData:TStringList;\nbegin\n  inherited;\n  sValue:=awGrid.Cells&#91;ColumnIndex,RowIndex];\n  sValue:=StringReplace(sValue,' ','',&#91;rfReplaceAll]);\n  i1:=14;\n  i2:=pos('title=',sValue);\n  sValue:=copy(sValue,i1,i2-i1-1);\n  qMaster.Locate('RecId',sValue,&#91;]);\n  UserSession.sys_Value1:=sValue; \/\/\u8bb0\u5f55ID\n  slData:=TStringList.Create;\n  slData.Add('&lt;table border=\"0\" width=\"100%\"&gt;&lt;tr&gt;');\n  sLine:='&lt;th width=\"50%\"&gt;&lt;\/th&gt;&lt;th width=\"50%\"&gt;&lt;\/th&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;tr&gt;&lt;td&gt;'+'\u7f16\u53f7\uff1a'+qMaster.FieldByName('pdNum').AsString+'&lt;\/td&gt;';\n  sLine:=sLine+'&lt;td&gt;'+'\u7c7b\u578b\uff1a'+qMaster.FieldByName('pdType').AsString+'&lt;\/td&gt;&lt;\/tr&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;tr&gt;&lt;td&gt;'+'\u54c1\u724c\uff1a'+qMaster.FieldByName('pdBrand').AsString+'&lt;\/td&gt;';\n  sLine:=sLine+'&lt;td&gt;'+'\u578b\u53f7\uff1a'+qMaster.FieldByName('pdDesc').AsString+'&lt;\/td&gt;&lt;\/tr&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;tr&gt;&lt;td&gt;'+'\u7535\u538b\uff1a'+qMaster.FieldByName('pdVoltage').AsString+'V&lt;\/td&gt;';\n  sLine:=sLine+'&lt;td&gt;'+'\u529f\u7387\uff1a'+qMaster.FieldByName('pdPower').AsString+'W&lt;\/td&gt;&lt;\/tr&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;tr&gt;&lt;td&gt;'+'\u98ce\u91cf\uff1a'+qMaster.FieldByName('pdWindVol').AsString+'ft\/min&lt;\/td&gt;';\n  sLine:=sLine+'&lt;td&gt;'+'\u98ce\u91cd\uff1a'+qMaster.FieldByName('pdWindNW').AsString+'g&lt;\/td&gt;&lt;\/tr&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;tr&gt;&lt;td&gt;'+'\u566a\u97f3\uff1a'+qMaster.FieldByName('pdNoise').AsString+'dB&lt;\/td&gt;';\n  sLine:=sLine+'&lt;td&gt;'+'\u5b58\u653e\uff1a'+qMaster.FieldByName('pdLocation').AsString+'&lt;\/td&gt;&lt;\/tr&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;tr&gt;&lt;td&gt;'+'\u65e5\u671f\uff1a'+qMaster.FieldByName('pdDate').AsString+'&lt;\/td&gt;';\n  sLine:=sLine+'&lt;td&gt;'+'RecId\uff1a'+qMaster.FieldByName('RecID').AsString+'&lt;\/td&gt;&lt;\/tr&gt;';\n  slData.Add(sLine);\n  sLine:='&lt;tr&gt;&lt;td&gt;'+'\u5907\u6ce8\uff1a'+qMaster.FieldByName('Remark').AsString+'&lt;\/td&gt;';\n  sLine:=sLine+'&lt;td&gt;'+'\u89c4\u683c\uff1a'+qMaster.FieldByName('pdSpecs').AsString+'&lt;\/td&gt;&lt;\/tr&gt;';\n  slData.Add(sLine);\n  slData.Add('&lt;\/table&gt;');\n  UserSession.sys_Value2:=slData.Text;\n  TfmmpdProd.Create(webApplication).Show;\nend;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmmpdProd.IWAppFormCreate(Sender: TObject);\nvar\n  jpg:TJpegImage;\n  sFile:String;\nbegin\n  regBack.Align:=alClient;\n  self.ExtraHeader.Clear;\n  self.ExtraHeader.Add(UserSession.sys_ExtraHeader);\n  imfProd.ImageFile.URL:='ProdFiles\/'+UserSession.sys_Value1+'.jpg';\n  hlbProd.HTMLText:=UserSession.sys_Value2;\n  dRate:=1;\n  sFile:=IWServerController.sys_AppPath+'wwwroot\\ProdFiles\\'+UserSession.sys_Value1+'.jpg';\n  if not FileExists(sFile) then exit;\n  jpg:=TJpegImage.Create;\n  try\n    jpg.LoadFromFile(sFile);\n    dRate:=(jpg.Height*100\/jpg.Width)\/100;\n  finally\n    jpg.Free;\n  end;\nend;<\/code><\/pre>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\" style=\"grid-template-columns:auto 26%\"><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">\u6e32\u67d3\u65f6\u6307\u5b9a\u4e00\u4e0b\u56fe\u7247\u7684\u9ad8\u5ea6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmmpdProd.IWAppFormRender(Sender: TObject);\nbegin\n  imfProd.Height:=trunc(imfProd.Width*dRate);  \/\/\u6309\u6bd4\u4f8b\u7f29\u653e\nend;<\/code><\/pre>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1000\" src=\"http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/11\/SandalNew2.png\" alt=\"\" class=\"wp-image-2460 size-full\" srcset=\"http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/11\/SandalNew2.png 1000w, http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/11\/SandalNew2-300x300.png 300w, http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/11\/SandalNew2-150x150.png 150w, http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/11\/SandalNew2-768x768.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u7528Intraweb\u5f00\u53d1\u56fe\u7247\u7ba1\u7406\u7684\u4e91\u5e73\u53f0\uff0c\u5176\u4e2d\u4e00\u4e2a\u5173\u952e\u7684\u529f\u80fd\u662f\u5efa\u753b\u5eca\uff0c\u6839\u636e\u7528\u6237\u641c\u7d22\u51fa\u6765\u7684\u6570\u636e\uff0c\u4ee5\u753b\u5eca\u5f62\u5f0f\u5c55\u793a\u8fd9\u4e9b &#8230; <a title=\"\u753b\u5eca(\u56fe\u5e93)\u5c55\u793a\" class=\"read-more\" href=\"http:\/\/www.jh1999.cn\/?p=2343\" aria-label=\"Read more about \u753b\u5eca(\u56fe\u5e93)\u5c55\u793a\">\u9605\u8bfb\u66f4\u591a<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-2343","post","type-post","status-publish","format-standard","hentry","category-kfbj"],"_links":{"self":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts\/2343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2343"}],"version-history":[{"count":16,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts\/2343\/revisions"}],"predecessor-version":[{"id":2505,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts\/2343\/revisions\/2505"}],"wp:attachment":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2343"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}