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

JTable怎样控制某一列、某一单元格允许或不允许被编辑

网上有很多关于怎样实现JTable不能被编辑的文章,因为如果不设置的话,双击单元格就会将单元格的内容读入一个默认的编辑器里,很多时候我们并不希望这样的事情发生,所以必须do something来阻止它。...呵呵,好吧,我承认大家都知道下面这种方法可以实现让整个表格不不允许被编辑 DefaultTableModel newTableModel = new DefaultTableModel(dataVector...其实仔细观察一下,这个isCellEditable方法会传两个参数进来,明眼人一看就知道,这分别是单元格的行和列索引,所以,根据这个row和column来控制返回true或false,我们的愿望就能实现了...下面是几个例子,要学会举一反三噢: 1、只允许表格的第三列被编辑 public boolean isCellEditable(int row,int column){ if(column ==...3){ return true; }else{ return false; } } 2、只允许表格的第二行、第二列的单元格编辑 public boolean

99110

Java Swing JTable

1 简介 JTable用于显示和编辑常规的二维单元格表。有关面向任务的文档和使用JTable的示例,请参见Java教程中的如何使用表。...使用专门的渲染器和编辑器。 JTable仅使用整数来引用它显示的模型的行和列。 JTable只是采用表格形式的单元格范围,并在绘制过程中使用getValueAt(int,int)从模型中检索值。...JTable 使用此方法来设置列的默认渲染器和编辑器。...*/ public Class getColumnClass(int columnIndex); 判断指定单元格是否可编辑 如果行和列中的单元格是可编辑的,则返回true。...这是一个重要的区别,因为当用户重新排列表中的列,视图中给定索引处的列将发生变化。同时,用户的操作永远不会影响模型的列顺序。 ?

4.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

java winform开发之JTable全攻略

这两天在研究JTable的使用,也有一些收获,所以在这里跟大家分享交流一下,下面的内容将包括:1)JTable的基本用法;2)怎样为JTable添加行点击响应事件,双击后打开窗口;3)怎样为JTable...java winform开发,所以界面怎么快就怎么做了,我直接在窗体的“设计”模式下直接拖“表格”出来就了事,在默认的情况下,这个表格还会有几行几列的填充内容的,如果需要编辑,可以先点击表格进入它的编辑状态...,然后右击,选择“表内容”就可以进行表格的行和列的编辑了,不过通常情况下,表格的内容都是动态生成的,所以在控件上直接编辑它的内容的意义是不大的,当然,做DEMO比较有用。...添加行标识 我们知道,JTable的每一个单元格,要求的值类型是一个Object的实例,也就是说,只要是一个对象就可以了,这个机制,给了我们非常大的发挥空间,我们可以在一个单元格中存放任意类型的对象,...只要在这个对象中重写一下toString()方法,将我们希望在单元格中显示的内容return出来就可以了,只JTable本身,并没有提供设置行id等识别表格行对象的方法,所以我想到了自己定义一个单元格对象

1.2K30

java swing 添加 jcheckbox复选框

而一般情况使用JTable(Vector rowData,Vector columnNames)       在Java方法中,如果参数需要传递接口,可以在调用方法传递一个(匿名)对象,该对象是一个不具名的类的实例...其次是表格样式,表格将数据和如何显示数据(比如列数量、列名称、是否可编辑)保存在其数据模版中,该模版实现自接口TableModel。   最后,表格(每一个单元格)可以设置渲染效果。...48 48 * 可以通过row和column索引判断某一个单元格是否可编辑 49 49 * 此处设为都不可编辑 50 50...,然后设置单元格渲染 87 85 // 设置列编辑器 88 86 // 在以复选框为对象设置列编辑,必须保证该列能够被编辑,否则无法更改状态 89 87...// (此步骤可以省略,省略不要忘记将列设为不可编辑) 90 88 // table.getColumnModel().getColumn(1).setCellEditor

3.2K00

java swing项目桌面软件还是蛮香的,至少有了我自己的桌面软件|Java 开发实战

我需要一个几行几列的表格,至于每个单元格显示的内容就是通过getValueAt这个方法实现的,到这里我们就实现了,jtable的model自定义显示。...$BooleanRenderer"); }源码中就有渲染器专门处理bool类型的,那么我们只需要在getColumnClass进行处理就行了,在我们的bool的单元格返回bool类JTable就会采用...渲染和编辑这种呢其实就是上面的getClass底层的实现方式,JTable中源码我们上面可以看出JTable通过返回的不同的类来调用不同的渲染器,现在我们不通过返回类的方式来渲染,而是自己定义一个渲染器...,然后通过JTable提供的方法设定用该渲染器渲染该单元格!...设置完了编辑器,我们最终要是只渲染器,就是JTable最终如何显示的问题。和上面的那个一样。

15210

VsCode中使用Jupyter

当不信任笔记本,VS Code将不会渲染Markdown单元或在笔记本中显示代码单元的输出。相反,将仅显示Markdown和代码单元的来源。...笔记本基本上处于只读模式,禁用了工具栏,除非将其设置为Trusted,否则无法编辑文件。 注意:在将Notebook设置为Trusted之前,您需要验证源代码和Markdown是否可以安全运行。...如果不这样做,则在选择PDF选项将提示您安装它。另外,请注意,如果您的Notebook中只有SVG输出,它们将不会显示在PDF中。...您还可以使用鼠标来更改模式,方法是单击单元格左侧或代码单元格中的代码/降价区域之外的垂直栏。 ---- 要从编辑模式切换到命令模式,请按ESC键。要从命令模式切换到编辑模式,请按Enter键。...注意如果不是命令模式就摁Esc 撤消您的最后更改# 您可以使用z键撤消之前的更改,例如,如果您进行了意外编辑,则可以将其撤消到先前的正确状态,或者如果您意外删除了单元格,则可以将其恢复。

5.8K40

【C#】让DataGridView输入中实时更新数据源中的计算列

需求是对A列进行编辑(输入或删除),B列能实时变化。例如下面的例子: ? 【目标文件名】是根据【款号】和【色号】计算而来(连接字符串),当编辑款号/色号,目标文件名能实时变化。...原因是dgv默认是等焦点离开编辑单元格(CurrentCell),才会提交更改到数据源,而且就算焦点离开,但如果焦点仍在同一行(即CurrentCell改变,但CurrentRow没变)的话,该行的源行也仍然处在编辑状态...(DataRowView.IsEdit为true),计算列也同样不会更新。...,比如单元格数据验证,但这里只说与提交直接相关的环节)。...CurrentCellDirtyStateChanged事件达到目的: private void dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e) { //判断当前单元格是否存在未提交的更改

5.1K20

C#——DataGridView控件填写数据事件

private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e) { } // 当单元格进入编辑状态发生...private void dataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { } // 在单元格的状态相对于其内容的更改更改时发生...private void dataGridView_CurrentCellDirtyStateChanged(object sender, EventArgs e) { } // 在单元格完成编辑发生...举个例子,我单击一个单元格,则单元格进入编辑状态,CellBeginEdit事件发生,然后我输入1,2……乃至更多的东西,上述的事件也不会发生。另外Key*系列的事件也试过,也没反应。...EditingControlShowing事件比上述事件还要早发生,他是dataGridView控件为了使用户可以编辑,而加载一个TextBox(如果单元格复选框,是其他的控件,那么就加载对应的控件)

1.5K62

Excel实战技巧108:动态重置关联的下拉列表

在相互关联的数据验证(即“数据有效性”)列表中常见的问题是:当更改第一个数据验证的值,与其相关联的数据验证的值会一直保留,直到你激活其下拉列表。这可能会产生误导。...注意,默认的工作表事件过程是SelectionChange事件,每次更改活动单元格都会触发该事件。...在这种情况下,最好使用工作表对象的Change事件并确保它仅在特定单元格的值发生更改时运行,而不是每次更改任何单元格都触发该事件过程。...图1 然而,当我们改变单元格C2中的分类选择单元格C6中显示的内容并不会作出相应的改变(如下图2所示),你必须将光标移到单元格C6中重新进行选择。...End If End Sub 至此,当更改单元格C2中的选择项单元格C6中的内容将更新为“请选择…”,如下图4所示。 图4

4.5K20

《Python for Excel》读书笔记连载4:Python开发环境之Jupyter笔记本

在本例中,它在下面插入一个空单元格,因为到目前为止我们只有一个单元格。更详细一点:当一个单元格在计算,它显示在[*]中,当它完成,星号变成一个数字,例如在[1]中。...要将单元格类型更改为Markdown,选择该单元格,然后在“单元格模式”下拉列表中选择Markdown(见图2-3)。在后面的表中会为你显示一个更改单元格模式的键盘快捷键。...Markdown单元格还允许包含图像、视频或公式。 图2-4:运行一个代码单元格和一个Markdown单元格后的笔记本 编辑 VS....命令模式 当你与Jupyter笔记本中的单元格交互,你就处于编辑模式(editmode)或命令模式(commandmode): 编辑模式 单击单元格可启动编辑模式:选定的单元格周围的边框变为绿色,单元格中的光标闪烁...选择单元格,也可以按Enter键,而不是单击单元格。 命令模式 要切换到命令模式,按退出键(ESC);选定的单元格周围的边框将为蓝色,并且不会有任何闪烁的光标。

2.6K30

Excel事件(二)工作表事件

示例一 更改单元格的数据后,弹窗显示更改单元格地址。(注意事件的代码不需要去运行)。...用户修改单元格内容,触发一次change事件,中间代码也修改单元格内容中加入了“内容已更改”,这也会再一次触发了change事件,第二次在单元格值前加入”内容已更改“标识,循环触发下去。)...所以用户修改单元格的内容,先触发了代码运行后。要先禁止事件。让中间的代码去添加“内容已更改”标识。此时因为禁止事件而不会触发,修改完之后再恢复事件开启即可。...再更改别的单元格,颜色也会跟着更改。 大家可以尝试下让选中的单元格所在的行和列都标注颜色。 五、activate事件 工作表事件,图表工作表或嵌入式图表触发activate激活事件。...Private Sub Worksheet_Deactivate() MsgBox "不允许编辑汇总表之外的其他工作表" Worksheets("汇总表").Select End Sub 当选中其他工作表

3.3K10

Spread for Windows Forms快速入门(15)---使用 Spread 设计器

用户可以使用对象列表选中指定的对象,也可以通过点击表单、单元格行、单元格列、单元格来选中指定的对象,接下来就可以在属性窗口中编辑选中对象的属性了。...为了帮助用户更好的使用 Spread 设计器,在设计模式下 Spread 设计器并不会应用一些属性。...下面的属性列表都是这类属性,为了能够更好的辅助用户设计,在设计模式下这些属性不会生效。...点击并编辑这两个属性,将其更改为10。 4. 在单元格行和列的头区域添加有意义的文字。通过点击单元格行的头区域,将该单元格行选中。右键点击该行,在弹出菜单中选择“页眉”。...接下来,继续在属性窗口中改变单元格列的背景色为黄色,点击“应用”,然后点击“确认“关闭编辑窗口。再次右键点击当前单元格列的头区域,在编辑窗口中将列高更改为 75,点击“应用”。

1.9K90

Excel实战技巧111:自动更新的级联组合框

如何克服级联数据验证列表的问题,即一旦第一个列表的值发生更改,其关联的列表就不会自动重置——你将学习一种替代方法来克服自动重置失败的问题(一旦第一个列表的值发生变化,将自动刷新关联的列表) 通过使用组合框表单控件...与传统的数据验证(即“数据有效性”)下拉列表相比,组合框表单控件具有许多优点。 下拉指示器在组合框中始终可见;而在数据验证中,用户必须单击单元格来显示下拉指示器。...图5 从图5中可以看到,组合框的选择与单元格K4链接,当我们选择组合框中的下拉列表项,将会在该单元格中放置所选项在列表中的位置值。 下面,我们来创建级联的组合框。...图9 设置第二个组合框的源数据区域为N4:N18,单元格链接到M4以存储代表所选项位置的数字。 此时,你可以试试,当你在第一个组合框中选择,第二个组合框中的列表项也随之发生更改。...注意到,当我们选择不同部门,由于其对应的App列表长度不同,列表底部会存在空,如下图12所示。 图12 在此,我们通过定义名称来解决。

8.2K20

Excel小技巧79:如何跟踪Excel工作簿的修改

你可以手动查看删除或添加了哪些数据,但你必须自己对电子表格进行更改。 2. 启用跟踪并不意味着你所做的每一个更改都会被记录下来。存储在单元格中的任何数据都会被跟踪,但格式等其他更改不会被跟踪。...此时,需要选取“编辑跟踪修订信息,同时共享工作簿”复选框。 ? 图2 这里有几个选项,包括时间、修订人和位置。对于“时间”,“全部”意味着每一个变化都将被突出显示。...如果取消选中“在屏幕上突出显示修订”选项,则不会显示黑色小三角形。 ?...最后,你可以选择如何处理冲突:要么被询问,要么干脆优先给保存文件的最后更改。...值得注意的是,如果另一个单元格引用了被拒绝的单元格的内容,那么当引用的单元格值恢复,其值也会更改,这可能导致公式中断等,因此要小心。

5.9K30

Excel实战技巧105:转置数据的3种方法

图2 选择数据单元格区域A3:B7,按下Ctrl+C组合键或者单击“复制”按钮。 选择要粘贴数据的单元格区域左上角单元格,单击鼠标右键,从快捷菜单中选择“选择性粘贴——转置”命令,如下图3所示。...如果源数据发生更改,已转置过的数据不会作出相应的更改。 方法2:使用TRANSPOSE函数 选择单元格D3,输入公式: =TRANSPOSE(A3:B7) 如下图5所示。 ?...图6 之所以会出现这样的情况,是因为试图在单个单元格中显示所有数据。如果我们编辑TRANSPOSE函数公式,按F9键,会看到公式的结果为一组数据。 ?...图8 因为使用的是公式,所以当原数据区域中的值更改时,公式区域的值也会相应更改。 方法3:简单的单元格引用 首先,利用填充序列功能,在要放置转置数据的单元格区域输入如下图9所示的数据。 ?...图11 使用此方法,当原数据区域中的值更改时,数据转置区域的值也会相应更改

2.6K30

Excel编程周末速成班第21课:一个用户窗体示例

步骤5:编写数据验证代码 当用户单击“下一步”或“完成”按钮验证代码将检查数据。需要检查的具体项目为: 名字、姓氏、地址和城市字段不能为空。 选择州。 邮政编码字段包含五个字符。...你可以看到,当用户单击“下一步”或“完成”按钮,将执行验证。因此,不应将验证代码放在按钮的Click事件过程中,而应放在它自己的过程中。...按照以下步骤创建验证过程: 1.显示用户窗体的代码编辑窗口。 2.选择插入➪过程,打开“添加过程”对话框。 3.输入ValidateData作为过程名称;在类型下选择“函数”。 4.单击确定。...ValidateData = True Then        EnterDataInWorksheet        ClearForm     End If End Sub 步骤7:测试该工程 你可以通过在VBA编辑器中打开用户窗体按...数据验证是任何数据输入程序的重要组成部分。 可以在输入数据之后或输入数据执行数据验证。 当你的代码将在程序的多个位置中使用时,将其放在单独的过程中。

6K10

Excel编程周末速成班第22课:使用事件

当选择事件编辑器会在窗口中自动输入该过程的框架。你可以手动输入事件过程,但是这样自动输入功能可以节省时间并减少错误。...如果该过程放置在错误的位置,即使它的名称正确,也不会响应其事件。随后的内容将提供了有关事件放置的一些具体建议,这里是一些准则: 用户窗体(及其控件)的事件过程应始终放在用户窗体模块本身中。...图22-1:在代码编辑窗口输入事件过程 事件顺序 处理事件,你需要了解某些操作会导致触发Excel中的多个事件。在这些情况下,多个事件以特定顺序发生。...你可以将此事件用于数据验证,例如验证在特定单元格中输入的值始终在指定范围内。如果数据不在此范围内,代码将显示一条消息并清除单元格,以便用户可以重新输入数据。...为避免此问题,更改事件过程中的代码,以便该代码执行以下操作: 1.设置EnableEvents属性为False。 2.清除工作表单元格中的内容。 3.设置EnableEvents属性为True。

2.8K10
领券