3.2.2 Get Set Data Range Selection
Get Data Range Selection
Minimum Origin Version Required: Origin8 SR0
This example shows how to get data range selection in a worksheet.
//Before run this example, make sure you have selected multiple ranges in the active worksheet
void wks_get_datarange_selection_ex()
{
//Make sure the active worksheet has existed
Worksheet wks = Project.ActiveLayer();
if(!wks)
{
printf("Error. Please active worksheet before running!");
return;
}
vector<int> vr1, vc1, vr2, vc2;
int iRegions = wks.GetSelectedRange(vr1, vc1, vr2, vc2); //get the number of regions
if( 0 == iRegions )
{
printf("No range selected in the active worksheet %s!", wks.GetName());
return;
}
for(int ii = 0 ; ii < iRegions ; ii++)
{
printf("Region %u : R%d C%d : R%d C%d\n", ii, vr1[ii], vc1[ii], vr2[ii], vc2[ii]);
}
}
Set Data Range Selection
Minimum Origin Version Required: Origin 8 SR0
This example shows how to select specified data range in the worksheet.
void wks_set_datarange_selection_ex()
{
WorksheetPage wp;
wp.Create("Origin");
Worksheet wks;
vector<int> vR1, vC1, vR2, vC2;
bool bRet;
// Full rows selected: only need to specified the row indices
wks = wp.Layers(0);
vR1.SetSize(2);
vR1[0] = 0; //select rows 0
vR1[1] = 3; //select rows 3
bRet = wks.SetSelectedRange(vR1);
if(bRet)
printf("Sussessfully selected range!\n");
else
printf("Failed to select range!\n");
//individual cells selected
wp.AddLayer();
wks = wp.Layers(1);
vR1.SetSize(1);
vR1[0] = 5;
vC1.SetSize(1);
vC1[0] = 0;
bRet = wks.SetSelectedRange(vR1,vC1); //select cell[6:6] in column A
if(bRet)
printf("Sussessfully selected range!\n");
else
printf("Failed to select range!\n");
// partial cols selected
wp.AddLayer();
wks = wp.Layers(2);
vR1.SetSize(1);
vR1[0] = 5;
vC1.SetSize(1);
vC1[0] = 0;
vR2.SetSize(1);
vR2[0] = 20;
bRet = wks.SetSelectedRange(vR1, vC1, vR2); //select cells in column A from the 6th row to the 21th row
if(bRet)
printf("Sussessfully selected range!\n");
else
printf("Failed to select range!\n");
// select several regions
wp.AddLayer();
wks = wp.Layers(3);
vR1.SetSize(2);
vR1[0] = 1;
vR1[1] = 4;
vC1.SetSize(2);
vC1[0] = 0;
vC1[1] = 0;
vR2.SetSize(2);
vR2[0] = 2;
vR2[1] = 5;
vC2.SetSize(2);
vC2[0] = 0;
vC2[1] = 1;
bRet = wks.SetSelectedRange(vR1, vC1, vR2, vC2);
if(bRet)
printf("Sussessfully selected range!\n");
else
printf("Failed to select range!\n");
}
Get Column Label Range
Minimum Origin Version Required: Origin 8.1 SR1
This example shows how to get label range selection
//Before run the following code, make sure the active worksheet exists and select multiple label regions in worksheet
void wks_get_column_label_range_ex()
{
//Make sure the active worksheet has existed
Worksheet wks = Project.ActiveLayer();
if(!wks)
{
printf("Error. Please active worksheet before running!");
return;
}
//Create a Grid and attach it to the active worksheet
Grid gg;
gg.Attach(wks);
vector<int> vR1, vC1, vR2, vC2;
BOOL bCheckLabelRows = true;
int iRegions = gg.GetSelection(vR1, vC1, vR2, vC2, bCheckLabelRows);
if( 0 == iRegions )
{
printf("No range selected in the active worksheet %s!", wks.GetName());
return;
}
for(int ii = 0 ; ii < iRegions ; ii++)
{
printf("Region %u : R%d C%d : R%d C%d\n", ii, vR1[ii], vC1[ii], vR2[ii], vC2[ii]);
}
}
Set Column Label Range
Minimum Origin Version Required: Origin 8 SR0
This example shows how to set ranges a worksheet with label coluum
void wks_set_column_label_Range_ex()
{
WorksheetPage wp;
wp.Create("Origin");
if(!wp)
{
return;
}
Worksheet wks(wp.GetName());
//Create a Grid and attach it to the active worksheet
Grid gg;
gg.Attach(wks);
int nSize = 3; //the number of regions
vector<int> vR1, vC1, vR2, vC2;
vR1.SetSize(nSize);
vR1[0] = 1;
vR1[1] = 5;
vR1[2] = 8;
vC1.SetSize(nSize);
vC1[0] = 1;
vC1[1] = 1;
vC1[2] = 0;
vR2.SetSize(nSize);
vR2[0] = 2;
vR2[1] = 5;
vR2[2] = 8;
vC2.SetSize(nSize);
vC2[0] = 0;
vC2[1] = 1;
vC2[2] = 0;
bool bData = false; //the selections are label regions in worksheet
bool bRet = gg.SetSelection(vR1, vC1, vR2, vC2, bData);
if( bRet )
printf("Successfully Set Selection in %s\n", wks.GetName());
else
printf("Failed to set selection in %s\n", wks.GetName());
}
|