首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在NSTableView中获得选中的行?view(atColumn:row:makeIfNecessary:)返回空

在NSTableView中获取选中的行,可以通过以下步骤实现:

  1. 首先,获取到NSTableView的实例对象,假设为tableView。
  2. 使用tableView的selectedRow属性来获取选中的行索引。如果返回值为-1,表示没有选中任何行。
  3. 如果selectedRow返回的值不为-1,可以通过tableView的view(atColumn:row:makeIfNecessary:)方法来获取选中行的视图。该方法接受两个参数:列索引和行索引。
  4. 如果view(atColumn:row:makeIfNecessary:)方法返回空,可能是因为该行的视图尚未创建。可以使用tableView的makeView(withIdentifier:owner:)方法来创建视图。
  5. 通过以上步骤,你可以获得选中行的视图,并进行后续操作。

下面是一个示例代码片段,展示了如何在NSTableView中获取选中的行:

代码语言:swift
复制
// 获取选中的行
let selectedRow = tableView.selectedRow

// 判断是否有选中行
if selectedRow != -1 {
    // 获取选中行的视图
    let view = tableView.view(atColumn: 0, row: selectedRow, makeIfNecessary: false)
    
    // 判断视图是否为空
    if view == nil {
        // 创建视图
        let identifier = NSUserInterfaceItemIdentifier("CellIdentifier")
        let newView = tableView.makeView(withIdentifier: identifier, owner: self)
        
        // 进行后续操作
        // ...
    } else {
        // 进行后续操作
        // ...
    }
}

在这个示例中,我们假设选中的行在第一列,因此使用列索引0。你可以根据实际情况修改列索引和标识符。

腾讯云提供了一系列云计算相关的产品,其中包括云服务器、云数据库、云存储等。你可以根据具体需求选择适合的产品。以下是腾讯云相关产品的介绍链接:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C++ Qt开发:StringListModel字符串列表映射组件

QStringListModel 是 Qt 中用于处理字符串列表数据模型类之一,它是 QAbstractListModel 子类,用于在 Qt 视图类( QListView、QComboBox...QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const 返回指定、列和父索引模型索引...组将将被初始化为城市地址,如下图所示; 1.2 添加与插入 如下代码演示了如何在 MainWindow 通过按钮点击事件向 QStringListModel 添加或插入数据。...使用 setCurrentIndex 方法将最后一设置为当前选中行。 清空输入框。 on_btnListInsert_clicked 方法用于在当前选中前面插入一。...具体步骤包括: 获取当前选中索引。 使用 insertRow 在当前行前面插入一。 从界面的 lineEdit 获取输入文本。 使用 setData 方法将文本设置到模型指定索引处。

14710

CC++ Qt ListWidget 列表框组件应用

View视图组件,接下来将具体分析Widget组件使用细节,View组件与Widget组件看似一致,但却存在本质区别,其大致区别如下: Widget 组件可以直接通过AddItem等一系列函数操作特定数据集...简单来说View组件适合于浏览展示数据较多场景,因为其绑定了链表结构从而在数据展示上更为灵活,而Widget组件更适合于更新或修改数据较多使用场景。...|Qt::ItemIsUserCheckable |Qt::ItemIsEnabled); } } 代码运行效果如下: ListWidget 全选/全不选: 全选顾名思义就是选中菜单所有数据...else aItem->setCheckState(Qt::Unchecked); } } 代码运行效果如下: ListWidget 指定位置插入/追加插入: 在选中上方插入一表项...获取当前行 QListWidgetItem *aItem = ui->listWidget->takeItem(row); // 移除指定项,但不delete delete aItem

1.1K20

CC++ Qt ListWidget 列表框组件应用

View视图组件,接下来将具体分析Widget组件使用细节,View组件与Widget组件看似一致,但却存在本质区别,其大致区别如下:Widget 组件可以直接通过AddItem等一系列函数操作特定数据集...简单来说View组件适合于浏览展示数据较多场景,因为其绑定了链表结构从而在数据展示上更为灵活,而Widget组件更适合于更新或修改数据较多使用场景。...|Qt::ItemIsUserCheckable |Qt::ItemIsEnabled); }}代码运行效果如下:图片ListWidget 全选/全不选: 全选顾名思义就是选中菜单所有数据...else aItem->setCheckState(Qt::Unchecked); }}代码运行效果如下:图片ListWidget 指定位置插入/追加插入: 在选中上方插入一表项...QListWidgetItem *aItem = ui->listWidget->takeItem(row); // 移除指定项,但不delete delete aItem;

1.2K20

【uniapp】实现买定离手小游戏

,从三张卡牌,挑选一张,中奖后将奖励进行发放,并且创建下一期,不多说了,说做就做 分析 前端分析 前端设计出页面以后,从接口处获得参与次数,押次数以及当前期数、开奖时间,开奖时间获取到以后和现在时间进行对比获得倒计时... ②开奖后,选中的话可以获得相应金币,反之会失去你金币。...BY period DESC LIMIT 1"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 读取查询结果数据...'price']; $number_sonal = $row['number']; // 获得$price两倍 $doublePrice = $price...BY period DESC LIMIT 1"; $result = $conn->query($sql1); if ($result->num_rows > 0) { // 读取查询结果数据

41430

使用R或者Python编程语言完成Excel基础操作

以下是一些建议,可以帮助你从零开始学习Excel: 理解基本概念:首先了解Excel基本组成部分,工作簿、工作表、单元格、、列等。...享受过程:尝试找到学习Excel乐趣,随着技能提高,你将能够更有效地完成工作和项目。 记住,Excel是一个非常强大工具,即使你只掌握了其一小部分功能,也能在工作和学习获得巨大回报。...输入数据:直接在单元格输入数据。 2. 删除数据 删除或列:右键点击行号或列标,选择“删除”。 清除内容:选中单元格,按Delete键或右键选择“清除内容”。 3....自定义排序:点击“排序和筛选”“自定义排序”,设置排序规则。 6. 筛选 应用筛选器:选中数据区域,点击“数据”选项卡“筛选”按钮。 筛选特定数据:在列头上筛选下拉菜单中选择要显示数据。...自定义视图 创建视图:保存当前视图设置,高、列宽、排序状态等。 这些高级功能可以帮助用户进行更深入数据分析,实现更复杂数据处理需求,以及提高工作效率。

11510

【PowerDesigner】创建和管理CDM之新建实体

:NG-CRM5.5逻辑模型 在树形模型管理器,右键单击新建CDM工程名,从出现菜单中选择New->Package即可新建一个包(Package)。...Row工具或者直接单击属性列表某一空白即为实体添加了一个属性,同时可设置属性Name、Code、数据类型(Data Type),是否不能为空(M复选框),是否为主键字段(P复选框)等 PowerDesigner...考虑到主键外键名称可能冲突问题,默认两个不同实体不能存在相同名称属性,但在实际设计时候,为了便于理解,通常需要在两个实体中使用相同属性名,NG-CRM5.5所有信息(INFO)表都存在4个字段...ViewEntity进行设置。...掌握PowerDesigner基本操作: 学习了如何在PowerDesigner创建和管理CDM,包括新建实体、定义属性和设定实体间关系。

4410

React Native布局详细指南

但有些地方还是有些出入: React NativeFlexBox 和Web CSSS上FlexBox不同之处 flexDirection: React Native默认为flexDirection...:'column',在Web CSS默认为flex-direction:'row' alignItems: React Native默认为alignItems:'stretch',在Web CSS...默认align-items:'flex-start' flex: 相比Web CSSflex接受多参数,:flex: 2 2 10%;,但在 React Nativeflex只接受一个参数 不支持属性...row: 从左向右依次排列 row-reverse: 从右向左依次排列 column(default): 默认排列方式,从上向下排列 column-reverse: 从下向上排列 Usage: <View...nowrap flex元素只排列在一上,可能导致溢出。 wrap flex元素在一排列不下时,就进行多行排列。

3.5K40

ASP.NET MVC5+EF6+EasyUI 后台管理系统(83)-Easyui Datagrid 行内编辑扩展

这次我们要从复杂交互入手来说明一些用法,这才能让系统做出更加复杂业务,上一节讲述了Datagird批量编辑和提交 本节主要演示扩展Datagrid行内编辑属性,下面来看一个例子,我开启编辑时候...* 参 数:sInput-原始字符串 sChar-要被替换子串 sReplaceChar-被替换新串 * 回 值:被替换后字符串 */ $.extend({ ReplaceStrAll...(只能是第一个被替换掉) * 参 数:sInput-原始字符串 sChar-要被替换子串 sReplaceChar-被替换新串 * 回 值:被替换后字符串 */ $.extend...container // 需要渲染成easyu提供控件,需要时用传入options,我这里如果需要一个combobox,就可以 这样调用 input.combobox(options...getValue: function (target) { //datagrid 结束编辑模式,通过该方法返回编辑最终值 //这里如果用户勾选中

1.5K90

Android开发(5) 代码方式生成表单

2.设置控件各种属性,比如 设置某个Button显示文字,绑定事件等。 3.将这个控件追加到一个容器控件,作为这个容器控件子控件。...比如:view.AddView(...). 4.在追加父控件内时,可以指定布局方式。 在动态添加完毕后,我们还需要能够获得对这些动态添加后控件值。...比如我添加一个文本框,我还想获得用户在这个文本框里填入值。androidview控件里,都有个属性Tag,我们可以很方便使用这个属性来存放我们特殊标记,用这个特殊标记来标记我们控件。...也就是说,我们放置了一个静态表格,然后动态创建这个表格里。 LayoutParams 是布局参数意思。在将创建好子控件添加到它父容器控件时,可以同时指定一个布局参数。...这个布局参数指示了这个子控件如何在父容器控件里呈现。

1.6K00

React Native布局详细指南

但有些地方还是有些出入: React NativeFlexBox 和Web CSSS上FlexBox不同之处 flexDirection: React Native默认为flexDirection...:'column',在Web CSS默认为flex-direction:'row' alignItems: React Native默认为alignItems:'stretch',在Web CSS...默认align-items:'flex-start' flex: 相比Web CSSflex接受多参数,:flex: 2 2 10%;,但在 React Nativeflex只接受一个参数 不支持属性...row: 从左向右依次排列 row-reverse: 从右向左依次排列 column(default): 默认排列方式,从上向下排列 column-reverse: 从下向上排列 Usage: <View...nowrap flex元素只排列在一上,可能导致溢出。 wrap flex元素在一排列不下时,就进行多行排列。

2.7K30

【IOS开发基础系列】Storyboard专题

注意:如果要把TabBarController与其包含ViewController一起移动,用Cmd+左键将它们全部选中然后移动(选中场景会有一个浅蓝色方框框住)。         ...运行程序,不需要你编写一代码,我们定制 Tab 栏就显示出来了。...initial view controller 是一个TabBarController,所以我们可以从 window 对象 rootViewController 获得一个引用并进行类型转换。         ...我们修改了模板cell 高度,但tableView 并不知道。有两个办法:改变table view Row Height 属性,或者修改 heightForRowAtIndexPath 方法。...,如果子类初始化时想不一样大小,如何在故事板处理 4 开发技巧 4.1 View分辨率 4.1.1 wAny和hAny——为什么Xcode6故事板分辨率是480x480         那只是设计时提供给你一个默认平台

74630

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券