【问题标题】:How to get the value from kendo grid template textboxes to angular array如何从剑道网格模板文本框获取值到角度数组
【发布时间】:2015-07-09 07:05:11
【问题描述】:

我在剑道网格中添加了两个额外的列,这些列在数据源中没有数据。我使用模板在这两列中添加了两个文本框。现在我想将这两列的值推送到一个角度数组 oncheckbox 选中。我在 google 和 stackoverflow 中搜索了很多关于此的内容。但是没有找到任何与我的问题相关的答案这是在剑道网格中添加模板的代码

 $scope.qualifySubGridColumns = [
                { template: "<input type='checkbox' class='subCheck checkbox' ng-click='getSelectedRow(dataItem)' />" },

                { field: "subList", template: "<input type='number' ng-minlength='0' ng-init='prefferedUser.subList=0'>", title: "SubList" },
                { field: "level", template: '<input type="number" ng-model="prefferedUser.level" ng-minlength="0" ng-init="prefferedUser.level=0">', title: "Level" },
                { field: "lastName", title: "Last Name" },
                { field: "firstName", title: "First Name" },
                { field: "email", title: "Email" },
                { field: "address1", title: "Address 1" },
                { field: "address2", title: "Address 2" },
                { field: "phone", title: "Phone" }
              ];

在这里我想获取这些列。但我不知道如何在 selectedRow 数组中获取子列表和级别字段值。请高手帮帮我

$scope.selectedRow = [];

          $scope.getSelectedRow = function (data) {


              $scope.selectedRow.push({ userId: data.substituteId});
              //   $scope.selectedRow.push({ userId: data.substituteId, sublist: sublist, level: level });
              console.log("mydata", $scope.selectedRow);

          };

【问题讨论】:

    标签: angularjs kendo-ui kendo-grid


    【解决方案1】:

    我不确定是否熟悉 anuglar,但我过去只使用剑道来完成此操作。

    这是我创建的一个简单网格,其中一列上有一个复选框,另一列有一个文本输入。 dataSource 模式只有一个 id 和一个 name 属性。但是通过将数据绑定添加到模板输入字段,这些属性将被添加到 dataSource 数据项中。

    <div id="grid" 
       data-role="grid" 
       data-columns="[{ field: 'id', title: 'Select', template: '<input type=\'checkbox\' data-bind=\'checked: selected\' />' },
                      { field: 'name', title: 'Name' },
                      { title: 'Age', template: '<input type=\'number\' data-bind=\'value: age\' />' }]" 
       data-bind="source: itemsDataSource">
    </div>
    

    然后,如果您转储网格绑定到的数据源(在我的实例中为 itemDataSource),您更改复选框或文本框的项目将具有这些属性。

    JSBin查看运行示例

    从那里,如果所选字段为真等,您应该能够拉出您想要的字段。

    【讨论】:

      【解决方案2】:

      我不确定,但它对我有用...

      HTML:

       <body>
          <div kendo-grid k-options="gridOptions" k-ng-delay="gridOptions" k-on-change="selected=data"></div>
          </body>   
      
          <script id="RowId" type="text/x-kendo-template">
            <tr>
              <td><input ng-model="dataItem.Name"></td>
            </tr>
          </script>
      

      Js:

      $scope.Array= new kendo.data.ObservableArray([Object,Object]);
      
      $scope.gridOptions = {
                          dataSource: new kendo.data.DataSource({
                              pageSize: 20,
                              data: $scope.Array,
                              autoSync: true,
                              schema: {
                                  model: {
                                      id: "Id",
                                  }
                              }
                          }),
                          sortable: true,
                          resizable: true,
                          autoSync: true,
                          scrollable: true,
                          columns: [
                            {
                                field: "Name",
                                title: "Name",
                                editable: True,
                            },                      
                          ],
                          rowTemplate: kendo.template($("#RowId").html()),
                      };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-03
        • 2013-08-11
        • 1970-01-01
        • 2019-03-07
        相关资源
        最近更新 更多