Too easy,
Ill share with you what my app is doing in great detail if it helps (relating to just the two galleries).
I have 5 Screens, the welcome screen, the collar screen and geology screen, the validation screen and the success screen, (we can ignore the success screen as its just a label that gets displayed telling the user it has successfully uploaded)
OnStart=
LoadData(
colHOLEData,
"SavedHOLEData",
true
);
LoadData(
colExpGeoDATA,
"SavedGeologyData",
true
);
LoadData(
colExpCollDATA,
"SavedCollarData",
true
);
LoadData(
colFinalGallery,
"SavedFinalHOLEData",
true
);
Concurrent(
ClearCollect(
colGeologyASYN,
{
Id: 0,
ACODE: ""
},
{
Id: 1,
ACODE: "Y"
},
{
Id: 2,
ACODE: "N"
}
),
ClearCollect(
colColDiameter,
{
Id: 0,
Diameter: ""
},
{
Id: 1,
Diameter: "HQ"
},
{
Id: 2,
Diameter: "PQ"
},
{
Id: 3,
Diameter: "NQ"
}
),
ClearCollect(
colCollarHoleType,
{
Id: 0,
CODE: "",
HoleType: ""
},
{
Id: 1,
CODE: "AC",
HoleType: "Aircore"
},
{
Id: 2,
CODE: "RC",
HoleType: "Reverse Circulation"
},
{
Id: 3,
CODE: "DD",
HoleType: "Diamond"
},
{
Id: 4,
CODE: "RM",
HoleType: "Rotary Mud"
}
),
ClearCollect(
colCollarSurvey,
{
Id: 0,
SurveyType: "",
SurveyTypeName: ""
},
{
Id: 1,
SurveyType: "GPS",
SurveyTypeName: "Handheld GPS"
},
{
Id: 2,
SurveyType: "DGPS",
SurveyTypeName: "Differential GPS"
}
),
ClearCollect(
colGeologyMoist,
{
Id: 0,
MCODE: "",
Moisture: ""
},
{
Id: 1,
MCODE: "D",
Moisture: "DRY"
},
{
Id: 2,
MCODE: "M",
Moisture: "MOIST"
},
{
Id: 3,
MCODE: "W",
Moisture: "WET"
}
),
ClearCollect(
colGeologyWash,
{
Id: 0,
WCODE: "",
Wash: ""
},
{
Id: 1,
WCODE: "VE",
Wash: "VERY EASY"
},
{
Id: 2,
WCODE: "ME",
Wash: "MODERATELY EASY"
},
{
Id: 3,
WCODE: "MD",
Wash: "MODERATELY DIFFICULT"
},
{
Id: 4,
WCODE: "VD",
Wash: "VERY DIFFICULT"
},
{
Id: 5,
WCODE: "IM",
Wash: "IMPOSSIBLE"
}
),
ClearCollect(
colGeologyShade,
{
Id: 0,
SCODE: "",
Intensity: ""
},
{
Id: 1,
SCODE: "L",
Intensity: "LIGHT"
},
{
Id: 2,
SCODE: "M",
Intensity: "MID"
},
{
Id: 3,
SCODE: "D",
Intensity: "DARK"
}
),
ClearCollect(
colGeologyColour,
{
Id: 0,
CCODE: "",
COLOUR: ""
},
{
Id: 1,
CCODE: "BK",
COLOUR: "BLACK"
},
{
Id: 2,
CCODE: "BL",
COLOUR: "BLUE"
},
{
Id: 3,
CCODE: "BR",
COLOUR: "BROWN"
},
{
Id: 4,
CCODE: "BU",
COLOUR: "BUFF"
},
{
Id: 5,
CCODE: "CR",
COLOUR: "CREAM"
},
{
Id: 6,
CCODE: "GN",
COLOUR: "GREEN"
},
{
Id: 7,
CCODE: "GR",
COLOUR: "GREY"
},
{
Id: 8,
CCODE: "KH",
COLOUR: "KHAKI"
},
{
Id: 9,
CCODE: "MU",
COLOUR: "MUSTARD"
},
{
Id: 10,
CCODE: "OR",
COLOUR: "ORANGE"
},
{
Id: 11,
CCODE: "PU",
COLOUR: "PURPLE"
},
{
Id: 12,
CCODE: "PI",
COLOUR: "PINK"
},
{
Id: 13,
CCODE: "RE",
COLOUR: "RED"
},
{
Id: 14,
CCODE: "WH",
COLOUR: "WHITE"
},
{
Id: 15,
CCODE: "YE",
COLOUR: "YELLOW"
},
{
Id: 16,
CCODE: "BB",
COLOUR: "BROWN-BLACK"
},
{
Id: 17,
CCODE: "BC",
COLOUR: "BROWN-CREAM"
},
{
Id: 18,
CCODE: "BO",
COLOUR: "BROWN-ORANGE"
},
{
Id: 19,
CCODE: "BW",
COLOUR: "BROWN-WHITE"
},
{
Id: 20,
CCODE: "BY",
COLOUR: "BROWN-YELLOW"
},
{
Id: 21,
CCODE: "CO",
COLOUR: "CREAM-ORANGE"
},
{
Id: 22,
CCODE: "RC",
COLOUR: "CREAM-RED"
},
{
Id: 23,
CCODE: "GB",
COLOUR: "GREY-BROWN"
},
{
Id: 24,
CCODE: "GC",
COLOUR: "GREY-CREAM"
},
{
Id: 25,
CCODE: "GD",
COLOUR: "GREY-RED"
},
{
Id: 26,
CCODE: "GG",
COLOUR: "GREY-GREEN"
},
{
Id: 27,
CCODE: "GK",
COLOUR: "GREY-BLACK"
},
{
Id: 28,
CCODE: "GO",
COLOUR: "GREY-ORANGE"
},
{
Id: 29,
CCODE: "GP",
COLOUR: "GREY-PINK"
},
{
Id: 30,
CCODE: "GW",
COLOUR: "GREY-WHITE"
},
{
Id: 31,
CCODE: "GY",
COLOUR: "GREY-YELLOW"
},
{
Id: 32,
CCODE: "NB",
COLOUR: "GREEN-BROWN"
},
{
Id: 33,
CCODE: "NY",
COLOUR: "GREEN-YELLOW"
},
{
Id: 34,
CCODE: "OW",
COLOUR: "ORANGE-WHITE"
},
{
Id: 35,
CCODE: "OY",
COLOUR: "ORANGE-YELLOW"
},
{
Id: 36,
CCODE: "OB",
COLOUR: "ORANGE-BROWN"
},
{
Id: 37,
CCODE: "PC",
COLOUR: "PINK-CREAM"
},
{
Id: 38,
CCODE: "PW",
COLOUR: "PINK-WHITE"
},
{
Id: 39,
CCODE: "RB",
COLOUR: "RED-BROWN"
},
{
Id: 40,
CCODE: "RK",
COLOUR: "RED-BLACK"
},
{
Id: 41,
CCODE: "RO",
COLOUR: "RED-ORANGE"
},
{
Id: 42,
CCODE: "RP",
COLOUR: "RED-PINK"
},
{
Id: 43,
CCODE: "RW",
COLOUR: "RED-WHITE"
},
{
Id: 44,
CCODE: "RY",
COLOUR: "RED-YELLOW"
},
{
Id: 45,
CCODE: "WC",
COLOUR: "WHITE-CREAM"
},
{
Id: 46,
CCODE: "YB",
COLOUR: "YELLOW-BROWN"
},
{
Id: 47,
CCODE: "YG",
COLOUR: "YELLOW-GREEN"
},
{
Id: 48,
CCODE: "YW",
COLOUR: "YELLOW-WHITE"
}
),
ClearCollect(
colGeologyLith,
{
Id: 0,
LCODE: "",
Lithology: ""
},
{
Id: 1,
LCODE: "CA",
Lithology: "CALCRETE"
},
{
Id: 2,
LCODE: "CG",
Lithology: "CONGLOMERATE"
},
{
Id: 3,
LCODE: "CL",
Lithology: "CLAY"
},
{
Id: 4,
LCODE: "CS",
Lithology: "CLAYEY SAND"
},
{
Id: 5,
LCODE: "GR",
Lithology: "GRAVEL SAND"
},
{
Id: 6,
LCODE: "HM",
Lithology: "HEAVY MINERAL"
},
{
Id: 7,
LCODE: "PE",
Lithology: "PEBBLES"
},
{
Id: 8,
LCODE: "SA",
Lithology: "SAND"
},
{
Id: 9,
LCODE: "SC",
Lithology: "SANDY CLAY"
},
{
Id: 10,
LCODE: "SD",
Lithology: "SILTY SAND"
},
{
Id: 11,
LCODE: "ST",
Lithology: "SILT"
},
{
Id: 12,
LCODE: "SY",
Lithology: "SILTY-CLAY"
},
{
Id: 13,
LCODE: "YS",
Lithology: "CLAYEY-SILT"
},
{
Id: 14,
LCODE: "BA",
Lithology: "BASALT"
},
{
Id: 15,
LCODE: "DO",
Lithology: "DOLOMITE"
},
{
Id: 16,
LCODE: "GA",
Lithology: "GRANITE"
},
{
Id: 17,
LCODE: "IR",
Lithology: "IRONSTONE"
},
{
Id: 18,
LCODE: "LA",
Lithology: "LATERITE"
},
{
Id: 19,
LCODE: "LI",
Lithology: "LIMESTONE"
},
{
Id: 20,
LCODE: "MU",
Lithology: "MUDSTONE"
},
{
Id: 21,
LCODE: "QU",
Lithology: "QUARTZ"
},
{
Id: 22,
LCODE: "SE",
Lithology: "SILCRETE"
},
{
Id: 23,
LCODE: "SH",
Lithology: "SHALE"
},
{
Id: 24,
LCODE: "SI",
Lithology: "SILTSTONE"
},
{
Id: 25,
LCODE: "SL",
Lithology: "SLATE"
},
{
Id: 26,
LCODE: "SO",
Lithology: "SOIL"
},
{
Id: 27,
LCODE: "SS",
Lithology: "SANDSTONE"
},
{
Id: 28,
LCODE: "IC",
Lithology: "INDURATED CLAY"
},
{
Id: 29,
LCODE: "LS",
Lithology: "LOSS"
},
{
Id: 30,
LCODE: "CO",
Lithology: "COAL"
},
{
Id: 31,
LCODE: "SDY",
Lithology: "SILTY-SANDY-CLAY"
},
{
Id: 32,
LCODE: "SYS",
Lithology: "SILTY-CLAYEY-SAND"
}
),
ClearCollect(
colGeologyGrainMax,
{
Id: 0,
GCODE: "",
Grainsize: ""
},
{
Id: 1,
GCODE: "CL",
Grainsize: "CLAY"
},
{
Id: 2,
GCODE: "SI",
Grainsize: "SILT"
},
{
Id: 3,
GCODE: "VF",
Grainsize: "VERY FINE"
},
{
Id: 4,
GCODE: "F",
Grainsize: "FINE"
},
{
Id: 5,
GCODE: "M",
Grainsize: "MEDIUM"
},
{
Id: 6,
GCODE: "C",
Grainsize: "COARSE"
},
{
Id: 7,
GCODE: "VC",
Grainsize: "VERY COARSE"
},
{
Id: 8,
GCODE: "GR",
Grainsize: "GRIT"
},
{
Id: 9,
GCODE: "PB",
Grainsize: "PEBBLE"
}
),
ClearCollect(
colGeologySorting,
{
Id: 0,
SCODE: "",
Sorting: ""
},
{
Id: 1,
SCODE: "VP",
Sorting: "VERY POOR"
},
{
Id: 2,
SCODE: "PS",
Sorting: "POORLY SORTED"
},
{
Id: 3,
SCODE: "MS",
Sorting: "MODERATELY SORTED"
},
{
Id: 4,
SCODE: "WS",
Sorting: "WELL SORTED"
},
{
Id: 5,
SCODE: "VW",
Sorting: "VERY WELL SORTED"
}
),
ClearCollect(
colGeologyInduration,
{
Id: 0,
ICODE: "",
Induration: ""
},
{
Id: 1,
ICODE: "CA",
Induration: "CALCAREOUS"
},
{
Id: 2,
ICODE: "SE",
Induration: "SILICEOUS"
},
{
Id: 3,
ICODE: "FE",
Induration: "FERROUS"
},
{
Id: 4,
ICODE: "PY",
Induration: "PYRITE"
},
{
Id: 5,
ICODE: "GY",
Induration: "GYPSUM"
}
),
ClearCollect(
colGeologyHardness,
{
Id: 0,
HCODE: "",
Hardness: ""
},
{
Id: 1,
HCODE: "1",
Hardness: "VERY SOFT"
},
{
Id: 2,
HCODE: "2",
Hardness: "SOFT"
},
{
Id: 3,
HCODE: "3",
Hardness: "MEDIUM HARDNESS"
},
{
Id: 4,
HCODE: "4",
Hardness: "HARD"
},
{
Id: 5,
HCODE: "5",
Hardness: "VERY HARD"
}
),
ClearCollect(
colGeologyGrainMin,
{
Id: 0,
GCODE: "",
Grainsize: ""
},
{
Id: 1,
GCODE: "CL",
Grainsize: "CLAY"
},
{
Id: 2,
GCODE: "SI",
Grainsize: "SILT"
},
{
Id: 3,
GCODE: "VF",
Grainsize: "VERY FINE"
},
{
Id: 4,
GCODE: "F",
Grainsize: "FINE"
},
{
Id: 5,
GCODE: "M",
Grainsize: "MEDIUM"
},
{
Id: 6,
GCODE: "C",
Grainsize: "COARSE"
},
{
Id: 7,
GCODE: "VC",
Grainsize: "VERY COARSE"
},
{
Id: 8,
GCODE: "GR",
Grainsize: "GRIT"
},
{
Id: 9,
GCODE: "PB",
Grainsize: "PEBBLE"
}
),
ClearCollect(
colGeologyQualifiers,
{
Id: 0,
QCODE: "",
Qualifiers: ""
},
{
Id: 1,
QCODE: "AT",
Qualifiers: "ABUNDANT BLACK TRASH"
},
{
Id: 2,
QCODE: "CT",
Qualifiers: "COMMON BLACK TRASH"
},
{
Id: 3,
QCODE: "MT",
Qualifiers: "MINOR BLACK TRASH"
},
{
Id: 4,
QCODE: "MI",
Qualifiers: "MICACEOUS"
},
{
Id: 5,
QCODE: "MO",
Qualifiers: "MOTTLED"
},
{
Id: 6,
QCODE: "OX",
Qualifiers: "OXIDISED"
},
{
Id: 7,
QCODE: "SI",
Qualifiers: "SILICEOUS"
},
{
Id: 8,
QCODE: "PY",
Qualifiers: "PYRITIC"
},
{
Id: 9,
QCODE: "CA",
Qualifiers: "CALCAREOUS"
},
{
Id: 10,
QCODE: "CB",
Qualifiers: "CARBONACEOUS"
},
{
Id: 11,
QCODE: "FE",
Qualifiers: "FERRUGINOUS"
},
{
Id: 12,
QCODE: "LA",
Qualifiers: "LATERITIC"
},
{
Id: 13,
QCODE: "WE",
Qualifiers: "WEATHERED"
}
),
ClearCollect(
colGeologyhmgs,
{
Id: 0,
HCODE: "",
hmgs: ""
},
{
Id: 1,
HCODE: "TR",
hmgs: "TRACE"
},
{
Id: 2,
HCODE: "MN",
hmgs: "MINOR"
},
{
Id: 3,
HCODE: "CM",
hmgs: "COMMON"
},
{
Id: 4,
HCODE: "AB",
hmgs: "ABUNDANT"
}
),
ClearCollect(
colGeologyFacies,
{
Id: 0,
FCODE: "",
Facies: ""
},
{
Id: 1,
FCODE: "TFS",
Facies: "TOP OF FORESHORE"
},
{
Id: 2,
FCODE: "TSZ",
Facies: "TOP OF SURF ZONE"
},
{
Id: 3,
FCODE: "TLS",
Facies: "TOP OF LOWER FORESHORE"
},
{
Id: 4,
FCODE: "TLI",
Facies: "TOP OF LIMESTONE"
}
),
ClearCollect(
colCollarStates,
{
Id: 0,
SCODE: ""
},
{
Id: 1,
SCODE: "ACT"
},
{
Id: 2,
SCODE: "NSW"
},
{
Id: 3,
SCODE: "WA"
},
{
Id: 4,
SCODE: "SA"
},
{
Id: 5,
SCODE: "QLD"
},
{
Id: 6,
SCODE: "NT"
},
{
Id: 7,
SCODE: "VIC"
},
{
Id: 8,
SCODE: "TAS"
}
),
ClearCollect(
colGeologyFinalHole,
{
Id: 1,
FCODE: "",
FinalHoleName: ""
},
{
Id: 2,
FCODE: "S1",
FinalHoleName: "Standard-ALS"
},
{
Id: 3,
FCODE: "S2",
FinalHoleName: "Standard-RRL"
},
{
Id: 4,
FCODE: "S3",
FinalHoleName: "Standard-RRM"
},
{
Id: 5,
FCODE: "S4",
FinalHoleName: "Standard-RRH"
},
{
Id: 6,
FCODE: "B",
FinalHoleName: "Blank"
},
{
Id: 7,
FCODE: "",
FinalHoleName: "No Quality Control"
}
),
ClearCollect(
colGeologyGSHM,
{
Id: 0,
GCODE: "",
Grainsize: ""
},
{
Id: 1,
GCODE: "VF",
Grainsize: "VERY FINE"
},
{
Id: 2,
GCODE: "F",
Grainsize: "FINE"
},
{
Id: 3,
GCODE: "M",
Grainsize: "MEDIUM"
},
{
Id: 4,
GCODE: "C",
Grainsize: "COARSE"
}
)
);
On the welcome screen,
there is a button that downloads from a Sharepoint list (this is the only part that is offline besides the forall patch function)
The buttons OnSubmit is
ClearCollect(
colHOLEData,
Sort(
Filter(AddColumns(
ExpHoleIndex,
"SORTID",
Substitute(
PEGID,
"CP",
""
) * 1,
"HoleSelected",false),Status = "Pending"
),
SORTID,
Descending
)
);
This code is to do two things, one download only the items in the database where status is equal to "Pending" and two create a column called SORTID from the lists column called PEGIDs because they are called CP1 to CP900 and you cant sort them. (Is this the best solution for this problem?)
The gallery item is
SortByColumns(
Search(
Filter(
colHOLEData,
(
IsBlank(ddStatusFilter.Selected.Value) ||
Status = ddStatusFilter.Selected.Value
)
),
TextSearchBox.Text,
"PEGID"
),
"Status",
"Descending",
"SORTID",
Ascending
)
this is so i can have it sorted, use search and fitler by a dropdown.
The user finds there hole and the onselect of the gallery is
Set(varItem, HOLEIDGallery.Selected)
The user then on a bunch of text inputs (defaults = varItem.whateveritem) changes any of the information and gives the HoleID a name and saves via this code
Set(varItem,
{HoleID: riHOLEID.Text,
Status: ddHoleStatuslbl.Text,
PEGID: riNEWPEGPEGID.Text,
EL:riNEWPEGHOLEEL.Text,
Easting: riHoleNameEast.Text,
Northing: riHoleNameNorth.Text
}
);Set(varColPageReset, true);
LookUp(colHOLEData, HoleID = riHOLEID.Text);
Patch(
colHOLEData,
HOLEIDGallery.Selected,
{
Status: ddHoleStatuslbl.Text,
PEGID: riNEWPEGPEGID.Text,
EL:riNEWPEGHOLEEL.Text,
Easting: riHoleNameEast.Text,
Northing: riHoleNameNorth.Text,
HoleID: riHOLEID.Text
}
);
Collect(colFinalGallery,
{
Status: ddHoleStatuslbl.Text,
PEGID: riNEWPEGPEGID.Text,
EL:riNEWPEGHOLEEL.Text,
Easting: riHoleNameEast.Text,
Northing: riHoleNameNorth.Text,
HoleID: riHOLEID.Text,
HoleCompletedDate:Text(Today(), "[$-gb]dd/mm/yyyy"),
HoleSelected:true
});
SaveData(
colFinalGallery,
"SavedFinalHOLEData"
);
SaveData(
colHOLEData,
"SavedHOLEData"
);
and then i used the varitem to set the information on the collar page and the geopage as all of this information is related to the PEG and HOLE IDs
The user then goes to a collar page and manipulates the collar data using the varitem, (the gallery on this screen is fine as at most it will have 8 entries)
the user then goes to the geology screen (this is the second gallery that is slow and sluggish and they add from around 20 or so dropdowns (items are from the onstart code) and 20 or so text inputs columns into a gallery
they are collected via two collections (the second is the last hole entry and they then go back to screen1 and start all over again)
the first adds into the collection via
If(varDoubleSampleHole=true,
Collect(
colExpGeoDATA,
{
PEGID:HiddenHOLEPegIDLabel.Text,
HOLEID: HiddenGeoIDLabel.Text,
SampleID: tiSampleID_1.Text,
FROM_M: tiFromM_1.Text,
TO_M: tiToM_1.Text,
'AS_Y/N': ddASYnlbl_1.Text,
Moisture: ddMoistlbl_1.Text,
WT_M: tiWtm_1.Text,
SLIMES_EST: tiSlimes_1.Text,
Wash: ddWashlbl_1.Text,
Shade: ddShadelbl_1.Text,
COL1: ddColourlbl_1.Text,
LITH1: ddLithlbl_1.Text,
GSDOM: ddGSDomlbl_1.Text,
GSMAX: ddGSMaxlbl_1.Text,
SORT1: ddSortlbl_1.Text,
IND: ddIndlbl_1.Text,
'IND%': tiInduperc_1.Text,
HARD: ddHardlbl_1.Text,
HM_Est: tiHmest_1.Text,
GS_HM: ddHmgslbl_1.Text,
Comments: tiCommentsGeo_1.Text,
QU: ddQualbl_1.Text,
FM: tiFM_1.Text,
Facies: ddFacieslbl_1.Text,
Finished: "No"
}
);
Collect(
colExpGeoDATA,
{
PEGID:HiddenGeoPegIDLabel.Text,
HOLEID: HiddenGeoIDLabel.Text,
SampleID: tiSampleID_1.Text,
FROM_M: tiFromM_1.Text,
TO_M: tiToM_1.Text,
'AS_Y/N': "D",
Moisture: ddMoistlbl_1.Text,
WT_M: tiWtm_1.Text,
SLIMES_EST: tiSlimes_1.Text,
Wash: ddWashlbl_1.Text,
Shade: ddShadelbl_1.Text,
COL1: ddColourlbl_1.Text,
LITH1: ddLithlbl_1.Text,
GSDOM: ddGSDomlbl_1.Text,
GSMAX: ddGSMaxlbl_1.Text,
SORT1: ddSortlbl_1.Text,
IND: ddIndlbl_1.Text,
'IND%': tiInduperc_1.Text,
HARD: ddHardlbl_1.Text,
HM_Est: tiHmest_1.Text,
GS_HM: ddHmgslbl_1.Text,
Comments: tiCommentsGeo_1.Text,
QU: ddQualbl_1.Text,
FM: tiFM_1.Text,
Facies: ddFacieslbl_1.Text,
Finished: "No"
}
);SaveData(
colExpGeoDATA,
"SavedGeologyData"
)
;UpdateContext({varStart:true});UpdateContext({varDisplay:false}),Collect(
colExpGeoDATA,
{
PEGID:HiddenGeoPegIDLabel.Text,
HOLEID: HiddenGeoIDLabel.Text,
SampleID: tiSampleID_1.Text,
FROM_M: tiFromM_1.Text,
TO_M: tiToM_1.Text,
'AS_Y/N': ddASYnlbl_1.Text,
Moisture: ddMoistlbl_1.Text,
WT_M: tiWtm_1.Text,
SLIMES_EST: tiSlimes_1.Text,
Wash: ddWashlbl_1.Text,
Shade: ddShadelbl_1.Text,
COL1: ddColourlbl_1.Text,
LITH1: ddLithlbl_1.Text,
GSDOM: ddGSDomlbl_1.Text,
GSMAX: ddGSMaxlbl_1.Text,
SORT1: ddSortlbl_1.Text,
IND: ddIndlbl_1.Text,
'IND%': tiInduperc_1.Text,
HARD: ddHardlbl_1.Text,
HM_Est: tiHmest_1.Text,
GS_HM: ddHmgslbl_1.Text,
Comments: tiCommentsGeo_1.Text,
QU: ddQualbl_1.Text,
FM: tiFM_1.Text,
Facies: ddFacieslbl_1.Text,
Finished: "No"
}
);SaveData(
colExpGeoDATA,
"SavedGeologyData"
)
;UpdateContext({varStart:true});UpdateContext({varGeoReset: !varGeoReset});
UpdateContext({varGeoReset: !varGeoReset});UpdateContext({varDisplay:false});UpdateContext({varGeoReset: !varGeoReset});
UpdateContext({varGeoReset: !varGeoReset}));
and the second
Set(varFinalHoleM, {FROM_M: tiFromM_1.Text});
Collect(
colExpGeoDATA,
{
PEGID:HiddenGeoPegIDLabel.Text,
HOLEID: HiddenGeoIDLabel.Text,
SampleID: tiSampleID_1.Text,
FROM_M: "",
TO_M: "",
'AS_Y/N': ddASYNFinalHolelbl.Text,
Moisture: "",
WT_M: "",
SLIMES_EST: "",
Wash: "",
Shade: "",
COL1:"",
LITH1: "",
GSDOM:"",
GSMAX:"",
SORT1: "",
IND: "",
'IND%': "",
HARD: "",
HM_Est: "",
GS_HM:"",
Comments: "",
QU: "",
FM: "",
Facies: "",
Finished: ""
}
);SaveData(
colExpGeoDATA,
"SavedGeologyData"
);
If(CollarGallery.Selected.HOLEID = HiddenCollarIDLabel.Text,
Patch(colExpCollDATA,CollarGallery.Selected,{
PEGID:HiddenGeoPegIDLabel.Text,
DataSet: Datasetlbl.Text,
State: ddStateslbl.Text,
HOLEID: HiddenGeoIDLabel.Text,
HOLETYPE: ddHoletypelbl.Text,
DIAMETER: ddDiameterlbl.Text,
TD: varFinalHoleM.FROM_M,
PREF_GRIDID: ddGridpreflbl.Text,
Pref_East: HiddenHOLEEastLabel.Text,
Pref_North: HiddenHOLENorthLabel.Text,
Pref_RL: tiPrefRL.Text,
GPS_RL: tiGPSRL.Text,
SURVEYTYPE: ddGpslbl.Text,
DEM_RL: tiDEMRL.Text,
LIDAR_RL: tiLIDARRL.Text,
AZI: tiAZI.Text,
Dip: tiDip.Text,
Program: tiProgram.Text,
DrillDate: DrillDatelbl.Text,
Year: DrillDateYEARlbl.Text,
EL: ddDepositlbl.Text,
Report: tiReport.Text,
Comments: tiComments.Text,
CURRENT_EL: CurrentELlbl.Text,
Company: Companylbl.Text,
DrillingCompany: ddDrillcomplbl.Text,
Traverse: tiTraverse.Text,
Status: "Finished"
}),Collect(
colExpCollDATA,
{
PEGID:HiddenGeoPegIDLabel.Text,
DataSet: Datasetlbl.Text,
State: ddStateslbl.Text,
HOLEID: tiHoleID.Text,
HOLETYPE: ddHoletypelbl.Text,
DIAMETER: ddDiameterlbl.Text,
TD:varFinalHoleM.FROM_M,
PREF_GRIDID: ddGridpreflbl.Text,
Pref_East: HiddenHOLEEastLabel.Text,
Pref_North: HiddenHOLENorthLabel.Text,
Pref_RL: tiPrefRL.Text,
GPS_RL: tiGPSRL.Text,
SURVEYTYPE: ddGpslbl.Text,
DEM_RL: tiDEMRL.Text,
LIDAR_RL: tiLIDARRL.Text,
AZI: tiAZI.Text,
Dip: tiDip.Text,
Program: tiProgram.Text,
DrillDate: DrillDatelbl.Text,
Year: DrillDateYEARlbl.Text,
EL: ddDepositlbl.Text,
Report: tiReport.Text,
Comments: tiComments.Text,
CURRENT_EL: CurrentELlbl.Text,
Company: Companylbl.Text,
DrillingCompany: ddDrillcomplbl.Text,
Traverse: tiTraverse.Text,
Status: "Finished"
}))
;SaveData(
colExpCollDATA,
"SavedCollarData"
);
Patch(colHOLEData,
varItem,
{
Status: "Finished",
EL:varItem.EL,
Easting: varItem.Easting,
Northing:varItem.Northing,
HoleID: varItem.HoleID
})
;SaveData(
colHOLEData,
"SavedHOLEData"
);
LookUp(colFinalGallery, "PEGID" = HiddenGeoPegIDLabel.Text);
If(ValidHoleGallery.Selected.PEGID = HiddenGeoPegIDLabel.Text,
Patch(colFinalGallery,
{PEGID: varItem.PEGID,
Status: "Finished",
EL:varItem.EL,
Easting: varItem.Easting,
Northing:varItem.Northing,
HoleID: varItem.HoleID,
HoleCompletedDate:Text(Today(), "[$-en]dd/mm/yyyy"),
HoleSelected:true}
),
Collect(colFinalGallery,{
PEGID: varItem.PEGID,
Status: "Finished",
EL:varItem.EL,
Easting: varItem.Easting,
Northing:varItem.Northing,
HoleID: varItem.HoleID,
HoleCompletedDate:Text(Today(), "[$-en]dd/mm/yyyy"),
HoleSelected:true
}))
;SaveData(
colFinalGallery,
"SavedFinalHOLEData"
);
UpdateContext({varFinalHole:false});Navigate(WelcomeScreen,ScreenTransition.Fade);UpdateContext({varGeoV2Reset: !varGeoV2Reset});
UpdateContext({varGeoV2Reset: !varGeoV2Reset});UpdateContext({varGeoReset: !varGeoReset});
UpdateContext({varGeoReset: !varGeoReset});UpdateContext({varGeoFinalCheckReset: !varGeoFinalCheckReset});
UpdateContext({varGeoFinalCheckReset: !varGeoFinalCheckReset});UpdateContext({varDoubleSampleHole:false})
Ohh and if it helps the geology gallery is filtered via a holeid
Filter(colExpGeoDATA,HOLEID=GEOLOGYHOLEIDLabel.Text)
and the default is Last(colExpGeoDATA)
i should also say there is a validation screen with all three galleries however it doesnt flow so im removing the galleries and using datatables to view them and then if they see any errors and need to do changes before the final forall patch to the sharepoint lists ill send them back to the gallery page and select the HoleID
Hope that all makes sense?
I tried to include anything that has anything to do with the collections and galleries and how they are made.
If you could tell me how i can make the welcome screen gallery and the geology screen gallery scroll without error i would be extremely appreciative