Add custom cell types into matrix

Please read the license agreement if you want to use Survey Creator widget in your app(s). Visit our buy page to find out developer license(s) price.
Custom cell types in matrix dropdown/dynamic

                        //add file type into matrix columns (run-time)
Survey.matrixDropdownColumnTypes.file = {
    properties: ["showPreview", "imageHeight", "imageWidth"]
};
//add file type into matrix columns (design-time/editor)
SurveyCreator.SurveyQuestionEditorDefinition.definition["matrixdropdowncolumn@file"] = {
    properties: ["showPreview", "imageHeight", "imageWidth"],
    tabs: [{ name: "visibleIf", index: 12 }, { name: "enableIf", index: 20 }]
}
//add tagbox into matrix columns (run-time)
Survey.matrixDropdownColumnTypes.tagbox = {
    properties: ["choices", "choicesOrder", "choicesByUrl", "otherText"],
    onCellQuestionUpdate: (cellQuestion, column, question, data) => {
        Survey.matrixDropdownColumnTypes.dropdown.onCellQuestionUpdate(cellQuestion, column, question, data);
    }
};
//add tagbox type into matrix columns (design-time/editor)
SurveyCreator.SurveyQuestionEditorDefinition.definition["matrixdropdowncolumn@tagbox"] = {
    properties: ["hasOther", "otherText", "choicesOrder", "colCount"],
    tabs: [
        { name: "choices", index: 10 },
        { name: "choicesByUrl", index: 11 },
        { name: "visibleIf", index: 12 },
        { name: "enableIf", index: 20 }
    ]
};


    
        SurveyCreator.StylesManager.applyTheme("bootstrap");
    


var creatorOptions = { };
var creator = new SurveyCreator.SurveyCreator("creatorElement", creatorOptions);

creator.text = JSON.stringify({ questions: [
{ type: "matrixdynamic", name: "sendHomework", title: "Please send your homework", addRowText: "Add Subject",
    columns: [{ name: "subjects", cellType:"tagbox", title: "Select a subject(s)", isRequired: true, choices: ["English: American Literature", "English: British and World Literature", "Math: Consumer Math", "Math: Practical Math", "Math: Developmental Algebra", "Math: Continuing Algebra", "Math: Pre-Algebra", "Math: Algebra", "Math: Geometry", "Math: Integrated Mathematics", "Science: Physical Science", "Science: Earth Science", "Science: Biology", "Science: Chemistry", "History: World History", "History: Modern World Studies", "History: U.S. History", "History: Modern U.S. History", "Social Sciences: U.S. Government and Politics", "Social Sciences: U.S. and Global Economics", "World Languages: Spanish", "World Languages: French", "World Languages: German", "World Languages: Latin", "World Languages: Chinese", "World Languages: Japanese"]},
        { name: "file", "cellType": "file", title: "Please upload your document"},
        {name:"description", cellType: "comment", title: "Please describe your homework"} ],
    rowCount: 1}
]}
);
                    
<!DOCTYPE html>
<html>
<head>
    <title>Custom cell types in matrix dropdown/dynamic, Survey Creator Example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script>
<script src="https://surveyjs.azureedge.net/1.0.82/survey.ko.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ext-language_tools.js" type="text/javascript" charset="utf-8"></script>
    <!-- Uncomment to enable Select2
    <script src="https://unpkg.com/jquery"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
    -->
    <link href="https://surveyjs.azureedge.net/1.0.82/survey-creator.css" type="text/css" rel="stylesheet" />
    <script src="https://surveyjs.azureedge.net/1.0.82/survey-creator.js"></script>
    <link rel="stylesheet" href="https://unpkg.com/bootstrap@3.3.7/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="./index.css">
<script src="https://unpkg.com/jquery"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.4/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.4/css/select2.min.css" rel="stylesheet" />    <script src="https://unpkg.com/surveyjs-widgets/surveyjs-widgets.js"></script>

</head>
<body>
        <div id="surveyContainer">
        <div id="creatorElement"></div>
    </div>

<script type="text/javascript" src="./index.js"></script>

</body>
</html>