【问题标题】:Igx grid cell with button inside带有按钮的 Igx 网格单元
【发布时间】:2021-11-13 21:04:32
【问题描述】:

我正在使用 Ignite UI 开发一个 Angular 项目。我在 igx 网格的每个单元格中都有一个 igx 网格和“编辑”按钮。

当我编辑其中一个单元格并按 Enter 键时,更改后的单元格值如下所示:

而不是像这样的斜体:

这是我的 igx 网格。

    <igx-grid igxPreventDocumentScroll
              #grid1
              [batchEditing]="true"
              [data]="posts"
              [primaryKey]="'myId'"
              [rowHeight]="40">
    
      <igx-column field="monat" dataType="string" header="Monat" [editable]="true" [movable]="true">
    
         <ng-template igxCell let-cell="cell">

           <span>{{ cell.value }}</span>

              <button igxButton="icon 
              (click)="editSelectedData(cell.id.rowID,cell.column.field, 
              cell.value)" >
                   <igx-icon>edit</igx-icon>
              </button>

        </ng-template>
      </igx-column>
    </igx-grid>

如何在 igx 网格的单元格内添加一个按钮,以便更改的数据将像第三个屏幕截图一样以斜体标记?

我认为&lt;span&gt;-元素不是正确的,如果是,我应该使用哪个 HTML 元素? 谢谢。

【问题讨论】:

    标签: angular-ui infragistics igx-grid


    【解决方案1】:

    看到不同字体样式的原因是您使用的自定义模板。编辑值的默认样式(尚未提交到数据库的更改)是 font-style:italic,它不适用于自定义模板。 Batch editing topicTransaction service topic

    您必须为您的模板或在这种情况下为 span 或 div 元素设置自定义样式,无论您决定选择什么:

    <igx-grid #grid [batchEditing]="true" [data]="data" [primaryKey]="'ProductID'" [rowEditable]="true">
    ...
      <igx-column field="UnitPrice" header="Unit Price" [dataType]="'string'"></igx-column>
      <igx-column field="UnitsOnOrder" header="Units On Order" dataType="number">
                <ng-template igxCell let-cell="cell">
                    <div class="test">{{ cell.value }}</div>
                       <button igxButton="icon">
                            <igx-icon>edit</igx-icon>
                       </button>
                 </ng-template>
            </igx-column>
    
    :host ::ng-deep {
        .igx-grid__td--edited > div {
            font-style: italic;
        }
    }
    
    

    注意:如果组件使用的是Emulated ViewEncapsulation,则需要使用::ng-穿透这个封装深

    【讨论】:

    • 完美!非常感谢!
    • 是否也可以设置整行的样式?当我删除一行时,带有编辑按钮的单元格不会被划掉。
    • 是的,有可能,看看这篇解释如何根据自定义规则设置行的条件样式的文章:infragistics.com/products/ignite-ui-angular/angular/components/…
    • 我从昨天开始尝试使用教程中的 rowClasses 和 rowStyles,但我收到错误消息:“无法绑定到 rowClasses,因为它不是 igx-grid 的已知属性。”
    • 请确保您使用的是 12.2.0 版本 =>,因为此功能是在 12.2.0 中引入的:github.com/IgniteUI/igniteui-angular/blob/master/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2021-10-20
    相关资源
    最近更新 更多