微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

角网格 id 中的 Boostrap 4 显示在卡片之外

如何解决角网格 id 中的 Boostrap 4 显示在卡片之外

我在带有 boostrap 4 的 angular 项目中使用核心 ui 模板 page

<div class="animated fadeIn">
    <div class="row">
        <div class="col-sm-12">
            <div class="card">
                <div class="card-header">
                    <button type="button" class="btn btn-sm mr-1 btn-success" data-toggle="modal"
                        routerLink="/branch/branch-edit">Create New</button>
                </div>
           
                <div class="card-body">
                    <div class="row">
                        <div class="col-sm-9">
                            <div class="form-group row" id="grid-container">
                                <angular-slickgrid gridId="branchGrid" [columnDeFinitions]="columnDeFinitions"
                                    [gridOptions]="gridOptions" [dataset]="dataset"
                                    (onAngularGridCreated)="angularGridReady($event)">
                                </angular-slickgrid>
                            </div>
                 </div>
            </div>
        </div>
    </div>
</div>

当我点击导航切换器网格时,显示如下。

请让我的网格显示在卡片之外..请让我知道哪里出了问题

enter image description here

编辑:建议我的网格如下所示..对于银行文件管理器选项与网格菜单按钮重叠..请建议

[![在此处输入图片描述][4]][4]

下面编辑的是我的 Ts.file

import { Component,OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';

import { AngularGridInstance,Column,GridOption,GraphqlService,GraphqlPaginatedResult,Filters,Formatters,OnEventArgs,FieldType } from 'angular-slickgrid';

import { BankDataService } from 'src/app/core/services/bank-data.service';
import { PageService } from 'src/app/core/services/page.service';


const GRAPHQL_QUERY_DATASET_NAME = 'banks';


@Component({
  templateUrl: './bank-list.component.html',styleUrls: ['./bank-list.component.scss']
})
export class BankListComponent implements OnInit {
  angularGrid: AngularGridInstance;
  columnDeFinitions: Column[];
  gridOptions: GridOption;
  dataset = [];

  constructor(private dataService: BankDataService,private router: Router,private pageService: PageService) {
  
  }

  ngOnInit(): void {
    this.columnDeFinitions = [
      {
        id: 'edit',field: 'id',excludeFromColumnPicker: true,excludeFromGridMenu: true,excludeFromHeaderMenu: true,formatter: Formatters.editIcon,minWidth: 30,maxWidth: 30,onCellClick: (e: Event,args: OnEventArgs) => {
          this.router.navigate(['/bank/bank-detail/' + args.dataContext.id]);
        }
      },{ id: 'id',name: 'Id',filterable: true,sortable: true,maxWidth: 200,type: FieldType.number,filter: { model: Filters.inputNumber } },{ id: 'name',field: 'name',name: 'Name',maxWidth: 200}
     ];

    this.gridOptions = {
      backendServiceApi: {
        service: new GraphqlService(),options: {
          columnDeFinitions: this.columnDeFinitions,datasetName: GRAPHQL_QUERY_DATASET_NAME
        },process: (query) => this.getBanks(),}
    };
 
  }

  angularGridReady(angularGrid: AngularGridInstance) {
    this.angularGrid = angularGrid;
  }

  getBanks(): Observable<GraphqlPaginatedResult> {

   
    var args = this.pageService.getPageArgs(this.angularGrid);
    console.log(args);
    return this.dataService.searchBanks(args)
      .pipe(map(
        page => {
          var result: GraphqlPaginatedResult = {
            data: {
              [GRAPHQL_QUERY_DATASET_NAME]: {
                nodes: page.items,totalCount: page.totalCount
              }
            }
          };

          return result;
        }));
  }
 
}

我必须在哪里调用 this.angularGrid.resizerService.resizeGrid();?

编辑:我在下面设置

**

AngularslickgridModule.forRoot({
      enableAutoResize: true,autoHeight: true,alwaysShowVerticalScroll: false,autoResize: {
        containerId: 'grid-container',sidePadding: 15,bottomPadding: 20,calculateAvailableSizeBy: 'container',-----------   if i set below the grid is showing correctly
        maxHeight: 600,minHeight: 250,maxWidth: 800,minWidth: 200
-----------------
      },

** 是这样显示

enter image description here

解决方法

问题在于行中的内容量超出了包含父元素的宽度。你看到它是因为溢出是可见的。 输入元素都有一个固定的宽度,并溢出容器。

代码没有问题。您只是没有所需的空间。

您可以将 id 的 minwidth 和 maxwidth 减小到 5 或 10 之类的值。

所有显示数字的字段都可以更小。也许你可以在那里节省一些空间。电话号码可能不需要 30 个字符的字段。

您也可以通过使用较小的尺寸来缩小内容。

在你的 css 文件中添加一个 css 类:

.make-smaller input{
font-size:10px;    // make the font small
width:fit-content; // will make is as big as the content
}

如果这还不够,你可以让你的内容滚动:

.make-scrollable{
overflow-x: scroll;    // make the container scrollable

}

然后你可以在你的 html 中使用这些 css 类来将它们应用到你的元素中:

<div class="card-body make-scrolable">  <--- content scrolable 

    <div class="form-group row make-smaller" id="grid-container"> <-- make things smaller

      <angular-slickgrid gridId="branchGrid" 
        [columnDefinitions]="columnDefinitions"
        [gridOptions]="gridOptions" [dataset]="dataset"                                
        (onAngularGridCreated)="angularGridReady($event)">
      </angular-slickgrid>
     </div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。