| 2.2.4.12.6 Datasheet::FindColFindCol
 DescriptionFind column in worksheet by searching for column long name.
Also applies to MatrixObject in a MatrixLayer.
 SyntaxDataObject FindCol( LPCSTR lpcszColLabel, int nColBegin = 0, BOOL bCaseSensitive = false, BOOL bFullMatch = true, int nColEnd = -1, BOOL bAllowShortName = true ) Parameters lpcszColLabel[input] string to search for column long name, also look for short name	if bAllowShortName is true. nColBegin[input] Column index (0 offset) to start searching.	Its default value is 0. bCaseSensitive[input] TRUE if case sensitive. Its default value is false. bFullMatch[input] FALSE if only match substring, must set to TRUE if bAllowShortName is used. Its default value is true. nColEnd[input] End of Column index for searching, when it is -1, search till the last of column.	Its default value is -1. bAllowShortName[input] first check short name if true, when false, short name is ignored. Its default value is true.
 ReturnA DataObject object
 ExamplesEX1
 void Datasheet_FindCol_Ex1()
{
    Worksheet wks;
    wks.Create();
    wks.AddCol();
    
    wks.Columns(0).SetLabel("AA01");
    wks.Columns(1).SetLabel("AA");
    wks.Columns(2).SetLabel("aa");
    wks.Columns(2).SetName("Test");
    wks.ShowLabels();
    
    // search whole worksheet for label is "aa" without case sensitive
    Column col = wks.FindCol("aa"); // should be 2nd column "AA"
    if( col )
        printf("1. The label of the column is %s.\n", col.GetLabel());
    else
        printf("1. Fail to find column.\n");
    
    // search whole worksheet for label is "aa" with case sensitive
    col = wks.FindCol("aa", 0, true);  // should be 3th column "aa"        
    if( col )
        printf("2. The label of the column is %s.\n", col.GetLabel());
    else
        printf("2. Fail to find column.\n");
    
    // search whole worksheet for label is "aa" without full match
    col = wks.FindCol("aa", 0, false, false);  // should be 1st column "AA01"
    if( col )
        printf("3. The label of the column is %s.\n", col.GetLabel());
    else
        printf("3. Fail to find column.\n");
    
    // search whole worksheet for short name is "aa" without case sensitive
    col = wks.FindCol("Test", 0, false, true, -1, true);    // should be 3th column "aa"        
    if( col )
        printf("4. The label of the column is %s.\n", col.GetLabel());
    else
        printf("4. Fail to find column.\n");
}void MatrixObject_FindCol_Ex1()
{
	//before running this code, make sure the active matrixsheet contain multiple matrixobjects and renamed with special names, e.g "rr", "pp"
	MatrixLayer ml = Project.ActiveLayer();
	if ( !ml )
	{
		printf("Can not access active matrixsheet");
		return;
	}
	string strObjName = "rr";
	MatrixObject mo = ml.FindCol(strObjName);
	if ( mo )
		out_str("Find the matrixobject named " + mo.GetName());
	
	strObjName = "Rr";
	mo = ml.FindCol(strObjName, 0, true); //case sensitive
	if ( mo )
		out_str("Find the matrixobject named " + mo.GetName());
	
	strObjName = "r";
	mo = ml.FindCol(strObjName, 0, true, false); //not full match
	if ( mo )
		out_str("Find the matrixobject named " + mo.GetName());
	
	strObjName = "pp";
	mo = ml.FindCol(strObjName, 0, true, true, -1, false);
	if ( mo )
		out_str("Find the matrixobject named " + mo.GetName());
	
	return;
}RemarkSee AlsoHeader to Includeorigin.h
 |