This is a migrated thread and some comments may be shown as answers.

Grid Details Toolbar Create function not working

3 Answers 688 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Michael
Top achievements
Rank 1
Michael asked on 06 Sep 2012, 01:17 PM
The toolbar in the details grid will not open a "popup" or "inline" when I click the create function. The "save", "cancel", "delete" all work. Am I missing something? Also, the "create" in the main grid works just fine.

    var sigSource = new kendo.data.DataSource({
        transport: {
            read: {
                url: "signatures/sigrequests_json_output",
                dataType: "json"
            },
            create: {
                url: "signatures/Create",
                dataType: "json"
            }
        },
        schema: {
            data: "results",
            total: "count",
            model: {
                id: "sigreq",
                fields: {
                    ticket_uid: { editable: false },
                    name: { type: "string", validation: { required:true } },
                    description: { type: "string" },
                    assigned_to: { editable: false, defaultValue: return_user() },
                    current_status: { editable: true },
                    priority: { editable: true },
                    ticket_tlp: { editable: true },
                    ticket_type: { editable: true },
                    discovery: { editable: true },
                    rule_type: { editable: true },
                    rule_category: { editable: true },
                    parent_template: { editable: true },
                    reference: { editable: true },
                    date_created: { editable: false }
                }
            }
        },
        batch: false,
        pageSize: 100,
        serverPaging: true,
        serverFiltering: true,
        serverSorting: true
    });
     
    $("#kendosigsrequests").kendoGrid({
        dataSource: sigSource,
        filterable: true,
        sortable: true,
        scrollable: true,
        reorderable: true,
        columnMenu: true,
        height: 600,
        toolbar: [ { name: "create", text: "Create New Request" } ],
        pageable: {
            refresh: true,
            pageSizes: [10, 20, 50, 100, 150, 200, 300]
        },
        detailInit: detailInit,
        dataBound: function() {
            this.expandRow(this.tbody.find("tr.k-master-row").first());
        },
        columns: [
            { field : "name", title : "Name", width : 200 },
            { field : "description", title : "Description", width : 200 },
            { field : "assigned_to", title : "Assigned To", width : 200 },
            { field : "current_status", title : "Current Status", width : 150, editor: stautsDropDownEditor },
            { field : "priority", title : "Priority", width : 90, editor: priorityDropDownEditor },
            { field : "ticket_tlp", title : "TLP", width : 90, editor: tickettlpDropDownEditor },
            { field : "ticket_type", title : "Type", width : 90, editor: tickettypeDropDownEditor},
            { field : "discovery", title : "Discovery", width : 100, editor: discoveryDropDownEditor },
            { field : "rule_type", title : "Rule Type", width : 100, editor: ruletypeDropDownEditor },
            { field : "rule_category", title : "Rule Category", width : 100 },
            { field : "parent_template", title : "Parent Template", width : 300, editor: categoryDropDownEditor },
            { field : "reference", title : "Reference" },
            ],
            editable: "popup"
    });
     
/////////////////////////////////////////
    function detailInit(e) {
         
        var detailRow = e.detailRow;
 
        var commentSource = new kendo.data.DataSource({
            transport: {
                read: {
                    url: "signatures/Comments",
                    dataType: "json"
                },
                create: {
                    url: "signatures/NewComment",
                    dataType: "json"
                },
                update: {
                    url: "signatures/UpdateComment",
                    dataType: "json"
                }
            },
            batch: true,
            pageSize: 6,
            schema: {
                data: "comments",
                model: {
                    id: "comment",
                    fields: {
                        ticket_uid: { editable: true },
                        user: { editable: true },
                        comment: { editable: true },
                        date_created: { editable: true }
                    }
                }
            },
            filter: { field: "ticket_uid", value: e.data.ticket_uid }
        });
 
        $("<div/>").appendTo(e.detailCell).kendoGrid({
            dataSource: commentSource,
            toolbar: ["create"],
            pageable: true,
            editable: "inline",
            columns: [
                { field: "date_created", title: "Date",  width: 150 },
                { field: "user", title: "By", width: 100 },
                { field: "comment", title: "Comment" },
                { command: "edit" }
            ]
        });
    }

3 Answers, 1 is accepted

Sort by
0
Michael
Top achievements
Rank 1
answered on 06 Sep 2012, 05:23 PM
This is driving me nuts. I can't figure out why I can't get this to work lol. Anyone?!?!
0
Michael
Top achievements
Rank 1
answered on 07 Sep 2012, 09:26 AM
So here is the button I can't get to work. Any ideas??
0
Michael
Top achievements
Rank 1
answered on 07 Sep 2012, 02:32 PM
Well I figured it out. I needed the "serverFiltering: true" flag to get the button to work. FML!
Tags
Grid
Asked by
Michael
Top achievements
Rank 1
Answers by
Michael
Top achievements
Rank 1
Share this question
or