우리는 이상한 위치에 있습니다. 우리는 OCX를 사용하여 winforms에 연결합니다.
우리는 모든 디버깅 할 수있는 표준 C# 코드를 가지고 있으며, 끝없이 많은 양의 디버깅 자바 스크립트를 사용한 후에 모든 사람들을 매우 행복하게 만듭니다.
사용자는 QV를 사용하여 항목을 선택한 다음 OCX에서 선택한 이벤트를 사용하고 후 처리를 위해 QV에서 선택한 데이터를 가져오고 동적 SQL 업데이트로 QV 데이터를 태그 지정합니다.
이 방법을 추천하지는 않지만, QV를 사용하여 선택한 데이터를 데이터 마이닝하고 처리 할 때 개발 출력이 크게 증가했습니다.
다음 프로젝트에서는 OCX를 사용하지 않을 예정입니다. 하지만 모든 사업 논리와 후 처리는 우리가 vbscript 매크로를 통해 액세스 할 수있는 COM 표시 C# dll '에 있습니다.
EDIT.자세한 내용
이 QV
에서 문자열을 얻을 수 OCX를 통해 문서
변경 선택
axQlikMainApp.ActiveDocument.Fields("%UnitID").Clear();
var selSuccess = axQlikMainApp.ActiveDocument.Fields(cls.QlikView.QvEvalStr.Fields.UnitId).Select("(%UnitID)");
다시 시트 개체
axQlikMainApp.ActiveDocument.ClearCache();
axQlikMainApp.ActiveDocument.GetSheetObject("Document\\MySheetObjectName").Restore();
통신 현재 설정입니다
string res axQlikMainApp.ActiveDocument.Evaluate("=concat(Distinct myField1 &'|' & MyField2,'*')");
끔찍하게 복잡해질 수 있습니다.
string res axQlikMainApp.ActiveDocument.Evaluate("=MaxString({1 <%UnitID= {" + sUnitIds + @"}>}'<b>' & UnitName & '</b> \r\n bla bla bla:' & UnitNotesPlanning) & " +
"'\n title1: ' & Count({1 <%UnitID= {" + sUnitIds [email protected]"},%ISODate={'" + qlickViewIsoDate + "'},Need = {'Ja'}" + MinusCalc + ">}Distinct %CivicRegNo) & " +
"'\n Title2: ' & Count({1 <%UnitID= {" + sUnitIds + @"},%ISODate={'" + qlickViewIsoDate + "'} " + recallMinusCalc + ">}DISTINCT RevGUID) & " +
"'\n Title3: ' & Count({1 <%UnitID= {" + sUnitIds + @"},%ISODate={'" + qlickViewIsoDate + "'},Need2 = {'Ja'}>}Distinct %CivicRegNo) & '" +
"\n Title4:' & MinString({1 <%UnitID= {" + sUnitIds + @"},FutureBooking = {1}>} Date(BookingStart) & ' Beh: ' & If(IsNull(ResourceDisplayedName),'_',ResourceDisplayedName)) &'" +
"\n Title5:' & MaxString({1 <%UnitID= {" + sUnitIds + @"},FutureBooking = {0}>} Date(BookingStart) & ' Beh: ' & If(IsNull(ResourceDisplayedName),'_',ResourceDisplayedName)) &''" +
" & MaxString({1 <%UnitID= {" + sUnitIds + @"}>}if(UnitGeo_isRelocatedOnSameGeo=1,'\nOBS! Multiple geo addresses. Zoom!',''))" +
""
);
자세한 정보를 제공 할 수 있습니까? 어쩌면 당신은 다른 부분으로로드를 분리하고 inbetween QVD 파일을 만들 수 있습니다. – smartmeta
@smartmeta 예. 목록 상자에있는 현재 데이터에 매크로 대신 매크로를 사용하여 프로그램에 액세스하고 싶습니다. – Disasterkid
나는 그것을 얻지 않는다. 몇 가지 샘플 데이터와로드 스크립트 부분을 추가하십시오. – smartmeta