如何根据对象以角度选择表格行?

2024-01-01

大家好,我有一个场景,我真的很困惑如何弄清楚......!!

场景是我有

1)垫料台(即角料台)

2)以及一个详细信息视图,根据表中特定行的单击显示详细信息。

3)对象列表作为数据源..!!

我在行的单击事件上传递对象,并将对象传递到详细信息视图,并且现在显示该特定行的详细信息,问题是....!

我有相同的数据源,即详细信息视图的对象列表,因为我有两个按钮,例如 >

因此,根据详细信息视图,我需要选择表中的特定行..!!随着详细信息视图的更新,需要更新行的选择。

那么我怎样才能实现这一目标呢?

这是我的代码

export class Question {

    private questionText: String;
    private qid: String;
    private category: String;
    private author: String;
    private level: String;

    constructor(qid:String,category:String,author:String,level:String,questionText:String){
        this.qid=qid;
        this.category=category;
        this.author=author;
        this.level=level;
        this.questionText=questionText;
    }

    /**
     * getQuestionText
     */
    public getQuestionText() {
        return this.questionText;
    }

    /**
     * getQuestionText
     */
    public getqid() {
        return this.qid;
    }

    /**
     * getQuestionText
     */
    public getcategory() {
        return this.category;
    }

    /**
     * getQuestionText
     */
    public getauthor() {
        return this.author;
    }

    /**
     * getlevel
     */
    public getlevel() {
        return this.level;
    }
}

上面是模型类

public questions:Array<Question> = [
    new Question("1","TEXT_FREE","Harry","1","Write an essay on Lion"),
    new Question("2","TEXT_SC","Harry Potter","2","Write an essay on tiger"),
    new Question("3","TEXT_MC","Harry Motter","3","Write an essay on cheetah"),
    new Question("4","TEXT_BC","Harry Bobber","4","Write an essay on Leapord"),
  ];

上面是我的对象数组

<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">

                                <!-- QID Column -->
                                <ng-container matColumnDef="qid">
                                    <th mat-header-cell *matHeaderCellDef> QID </th>
                                    <td mat-cell *matCellDef="let element"> {{element.qid}} </td>
                                </ng-container>

                                <!-- Name Column -->
                                <ng-container matColumnDef="questionText">
                                    <th mat-header-cell *matHeaderCellDef> Question Text </th>
                                    <td mat-cell *matCellDef="let element"> {{element.questionText}} </td>
                                </ng-container>

                                <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
                                <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>

                            </table>

上面是我的垫子桌

最阻碍我的事情

1)单击时在该行上应用一个类,就像我单击第二行一样,只有该行必须突出显示..!

2)索引时需要选择表的行或者说从详细信息视图传递的整个对象。


当您使用 MatTable 和行定义时,您可能正在使用类似的东西<mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>,我想说你可以尝试添加一个索引并用它打开对话框 - 传递带有索引的数据源对象并基于它你甚至可以选择向 MatTable 报告你已经减少或增加了第二个。

Like <mat-row *matRowDef="let row; let i = index; columns: displayedColumns;" (click)="openSelected(datasource, i)"></mat-row>

而“选择”只是一个技巧,看看是否let i = index等于您给出的索引,仅此而已。我想(click)="openSelected(datasource, i)将为详细信息视图的绑定设置一些值,显示它,该视图中的箭头将发出事件,因此在主组件中您可以根据需要设置“selectedIndex”字段。

你可以看一下我的应用程序的示例代码here https://github.com/PWrGitHub194238/Chemistry-Home-Office/blob/master/src/app/features/admin/components/sent-homeworks-inner-files-table/sent-homeworks-inner-files-table.component.ts。我在那里使用了图像库,并且在图像更改时我还更改了底层的“选定”行。这可能是您或多或少想做的事情。

onGalleryImageChange(index: number) {
    this.selectedFileForGallery = this.data[index];
    this.selectedRow = this.selectedFileForGallery;
  }

并在视图中:

<tr
        mat-row
        fxLayout="column"
        fxLayoutAlign="center"
        *matRowDef="let file; columns: columnsToDisplay; let i = index"
        matTooltipClass="multiline-tooltip"
        [matTooltip]="getFileTooltip(file)"
        (mouseenter)="mouseEnter(file)"
        (mouseleave)="mouseLeave()"
        (click)="openGallery(i)"
      ></tr>
    </table>

And

<td mat-cell *matCellDef="let file">
          <div
            fxLayout="row"
            fxLayoutAlign="space-between center"
            class="row-action"
            [class.row-action-hover]="file === selectedRow"
          >
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据对象以角度选择表格行? 的相关文章

随机推荐

  • 如何使用 SQL Server 2008 将学生成绩分为五分位数

    谁能帮我将学生成绩分为五等分吗 我认为 SQL Server 2012 中有一个功能 但我们还没有t upgraded to it as we are using 2008R2 I triedNtile 5 但它没有生成所需的结果 我需要低
  • 在 intel xdk 中构建应用程序:您是否需要构建 cordova 才能使用 cordova api

    我刚刚了解了英特尔 xdk 我正在研究它的工作原理以及生成应用程序的步骤 但是 我在理解它时陷入了困境 你能为我澄清一些事情吗 据我了解 Intel XDK 默认提供扩展 cordova api 的 api 因此 cordova api 包
  • 如何创建使用单独进程的 Android Activity 和 Service

    我有一个 Android 应用程序 其中包含一个活动和一个服务 目前它们都存在于同一进程中并使用相同的堆 但我希望必须为服务分离进程 堆 IE 我希望服务完全独立于活动 这样如果活动崩溃就不会影响服务 然而 我确实希望它们可以作为单个应用程
  • C语言中如何连接两个字符串?

    如何添加两个字符串 I tried name derp herp 但我得到一个错误 表达式必须具有整型或枚举类型 C 不支持其他一些语言所具有的字符串 C中的字符串只是一个指向数组的指针char由第一个空字符终止 C中没有字符串连接运算符
  • 以太坊 Solidity 中的划分

    我正在创建一个发行代币的合约 我希望持有代币的账户能够检查他们拥有的所有代币所占的百分比 我知道以太坊还没有实现浮点数 我应该怎么办 在客户端而不是在 Solidity 中执行该计算可能是最好的 最低的 Gas 成本并且实施起来很简单 如果
  • 无法将 ndarray 转换为 Tensor 或 TensorFlow 模型中出现运算错误

    我正在 TensorFlow 中实现 Wasserstein DCGAN 运行此行时会发生错误 train image sess run image batch 处理这个异常会抛出另一个异常 Fetch argument array 0 0
  • 用自身初始化 C++ const 变量

    刚才我遇到了以下类型的错误 include
  • BeagleBone Black 无法识别 USB 蓝牙适配器

    我正在尝试弄清楚如何让 USB 蓝牙适配器与我的 BeagleBone Black 配合使用 我尝试了一些不同的方法但没有成功 但看到其他人的帖子似乎取得了一些成功 我已经尝试过此处记录的过程 http www michaelhleonar
  • JMS:我们可以在 OnMessage() 中从队列中获取多条消息而不提交或回滚吗

    我正在使用 JMS 客户端 它从远程服务器接收 JMS 消息 我正在客户端的 onMessage 方法中监听 JMS 消息 我面临的问题是 即使我定期在客户端消费消息 消息也会在服务器端累积 我根据在客户端进行的处理发送 rollback
  • /usr/bin/ld:搜索 foo 时跳过不兼容的 foo.so

    我使用的是 Ubuntu 13 10 64 位 在编译 vlfeat 库的 python 包装器时遇到以下错误 g o vlfeat so vl aib o vl generic o vl hikmeans o vl ikmeans o v
  • PHP 套接字与流

    我认为 php 套接字和 php 流是相互重叠的 我已经成功地使用套接字或流制作了一个 CLI PHP 聊天客户端和一个服务器 这里有一些说明性的代码行 使用套接字 main socket socket create AF INET SOC
  • PowerShell 通用集合

    我一直在 PowerShell 中推进 NET 框架 但遇到了一些我不明白的问题 这工作正常 foo New Object System Collections Generic Dictionary 2 System String Syst
  • set_form_data POST 中的转义参数

    这是最奇怪的事情 当我添加 in set form data value被解释为value 在服务器端 当我删除 dontescape 的值被解释为file 3a 2f 2f 2fpath 2fto 到底发生了什么 我不希望任何东西被转义
  • Bender.js:“bender server run”命令打开目录中的bender.js配置文件,而不是启动bender.js服务器

    我是bender js 的新手 我正在尝试运行示例项目 https github com benderjs benderjs example project https github com benderjs benderjs exampl
  • 平衡数组子区间中元素数量的算法?

    假设您有一个包含 4 种不同类型元素的数组 1 1 2 3 1 2 2 3 3 4 4 1 我想找到导致每个元素数量相等且元素总数最大的最长子区间 在这种情况下 它将是 1 1 2 3 1 2 2 3 3 因为这会导致 3 个二 3 个三和
  • 打印机通讯捕获

    如果我需要将其发布到其他地方 请告诉我 我们有一些正在重写的旧软件 它使用专有打印机的打印机驱动程序 我需要重写软件绕过打印驱动程序并直接进入打印机 我确实有打印机通信的规格 这很好 但我想做的是监视与打印机的通信以查看其内容 来自我重写的
  • 迭代强类型泛型 List 的最佳方法是什么?

    在 C NET 和 VB NET 中迭代强类型泛型列表的最佳方法是什么 For C foreach ObjectType objectItem in objectTypeList do some stuff VB NET 的答案来自紫蚂蚁
  • 便携式WAMP包?

    无论如何 我可以在 Windows 7 计算机上的 USB 上使用 PHP mySQL apache phpmyadmin 吗 询问的原因是我没有足够的权限在计算机上安装像 XAMPP 这样的软件包 并且我想测试一些 php 代码文件 谢谢
  • 使用网络摄像头跟踪手势

    我想开发一个程序 使用网络摄像头跟踪四种颜色 并将其放在我双手的食指和拇指上 根据我手的手势 计算机将解释这些手势并执行命令 例如 如果我打开一个网站 我所要做的就是用手指捏一下 网页就会缩放 我希望获得 stackoverflow 社区的
  • 如何根据对象以角度选择表格行?

    大家好 我有一个场景 我真的很困惑如何弄清楚 场景是我有 1 垫料台 即角料台 2 以及一个详细信息视图 根据表中特定行的单击显示详细信息 3 对象列表作为数据源 我在行的单击事件上传递对象 并将对象传递到详细信息视图 并且现在显示该特定行