- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java Swing组件编程之JTable表格用法实例详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例讲述了java swing组件编程之jtable表格用法。分享给大家供大家参考,具体如下:
表格是gui编程中使用较多,但也是最麻烦的一个控件之一。表格是用来显示二维数据,提供编辑,选择等功能。如果只是显示数据,这还是非常easy的,只要在jtable中传入二维数组或集合就可以了.
示例1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package
awtdemo;
import
javax.swing.jframe;
import
javax.swing.jscrollpane;
import
javax.swing.jtable;
public
class
simpletable
{
jframe jf =
new
jframe(
"简单表格 - www.zzvips.com"
);
jtable table;
//定义二维数组作为表格数据
object[][] tabledata =
{
new
object[]{
"李清照"
,
29
,
"女"
},
new
object[]{
"苏格拉底"
,
56
,
"男"
},
new
object[]{
"李白"
,
35
,
"男"
},
new
object[]{
"弄玉"
,
18
,
"女"
},
new
object[]{
"虎头"
,
2
,
"男"
}
};
//定义一维数据作为列标题
object[] columntitle = {
"姓名"
,
"年龄"
,
"性别"
};
public
void
init()
{
//以二维数组和一维数组来创建一个jtable对象
table =
new
jtable(tabledata , columntitle);
//将jtable对象放在jscrollpane中,并将该jscrollpane放在窗口中显示出来
jf.add(
new
jscrollpane(table));
jf.pack();
jf.setdefaultcloseoperation(jframe.exit_on_close);
jf.setvisible(
true
);
}
public
static
void
main(string[] args)
{
new
simpletable().init();
}
}
|
运行效果:
下面举个jtable表格调整和选择方式的例子.
示例2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
package
awtdemo;
import
java.awt.event.actionevent;
import
java.awt.event.actionlistener;
import
javax.swing.buttongroup;
import
javax.swing.jcheckboxmenuitem;
import
javax.swing.jframe;
import
javax.swing.jmenu;
import
javax.swing.jmenubar;
import
javax.swing.jradiobuttonmenuitem;
import
javax.swing.jscrollpane;
import
javax.swing.jtable;
import
javax.swing.listselectionmodel;
import
javax.swing.table.tablecolumn;
public
class
adjustingwidth
{
jframe jf =
new
jframe(
"调整表格列宽 - www.zzvips.com"
);
jmenubar menubar =
new
jmenubar();
jmenu adjustmodemenu =
new
jmenu(
"调整方式"
);
jmenu selectunitmenu =
new
jmenu(
"选择单元"
);
jmenu selectmodemenu =
new
jmenu(
"选择方式"
);
//定义5个单选框按钮,用以控制表格的宽度调整方式
jradiobuttonmenuitem[] adjustmodesitem =
new
jradiobuttonmenuitem[
5
];
//定义3个单选框按钮,用以控制表格的选择方式
jradiobuttonmenuitem[] selectmodesitem =
new
jradiobuttonmenuitem[
3
];
jcheckboxmenuitem rowsitem =
new
jcheckboxmenuitem(
"选择行"
);
jcheckboxmenuitem columnsitem =
new
jcheckboxmenuitem(
"选择列"
);
jcheckboxmenuitem cellsitem =
new
jcheckboxmenuitem(
"选择单元格"
);
buttongroup adjustbg =
new
buttongroup();
buttongroup selectbg =
new
buttongroup();
//定义一个int类型的数组,用于保存表格所有的宽度调整方式
int
[] adjustmodes =
new
int
[]{
jtable.auto_resize_off,
jtable.auto_resize_next_column,
jtable.auto_resize_subsequent_columns,
jtable.auto_resize_last_column,
jtable.auto_resize_all_columns
};
int
[] selectmodes =
new
int
[]{
listselectionmodel.multiple_interval_selection ,
listselectionmodel.single_interval_selection ,
listselectionmodel.single_selection
};
jtable table;
//定义二维数组作为表格数据
object[][] tabledata =
{
new
object[]{
"李清照"
,
29
,
"女"
},
new
object[]{
"苏格拉底"
,
56
,
"男"
},
new
object[]{
"李白"
,
35
,
"男"
},
new
object[]{
"弄玉"
,
18
,
"女"
},
new
object[]{
"虎头"
,
2
,
"男"
}
};
//定义一维数据作为列标题
object[] columntitle = {
"姓名"
,
"年龄"
,
"性别"
};
public
void
init()
{
//以二维数组和一维数组来创建一个jtable对象
table =
new
jtable(tabledata , columntitle);
//-----------为窗口安装设置表格调整方式的菜单-----------
adjustmodesitem[
0
] =
new
jradiobuttonmenuitem(
"只调整表格"
);
adjustmodesitem[
1
] =
new
jradiobuttonmenuitem(
"只调整下一列"
);
adjustmodesitem[
2
] =
new
jradiobuttonmenuitem(
"平均调整余下列"
);
adjustmodesitem[
3
] =
new
jradiobuttonmenuitem(
"只调整最后一列"
);
adjustmodesitem[
4
] =
new
jradiobuttonmenuitem(
"平均调整所有列"
);
menubar.add(adjustmodemenu);
for
(
int
i =
0
; i < adjustmodesitem.length ; i++)
{
//默认选中第三个菜单项,即对应表格默认的宽度调整方式
if
(i ==
2
)
{
adjustmodesitem[i].setselected(
true
);
}
adjustbg.add(adjustmodesitem[i]);
adjustmodemenu.add(adjustmodesitem[i]);
final
int
index = i;
//为设置调整方式的菜单项添加监听器
adjustmodesitem[i].addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent evt)
{
//如果当前菜单项处于选中状态,表格使用对应的调整方式
if
(adjustmodesitem[index].isselected())
{
table.setautoresizemode(adjustmodes[index]);
}
}
public
void
actionperformed1(actionevent e) {
// todo 自动生成的方法存根
}
});
}
//-----------为窗口安装设置表格选择方式的菜单-----------
selectmodesitem[
0
] =
new
jradiobuttonmenuitem(
"无限制"
);
selectmodesitem[
1
] =
new
jradiobuttonmenuitem(
"单独的连续区"
);
selectmodesitem[
2
] =
new
jradiobuttonmenuitem(
"单选"
);
menubar.add(selectmodemenu);
for
(
int
i =
0
; i < selectmodesitem.length ; i++)
{
//默认选中第一个菜单项,即对应表格默认的选择方式
if
(i ==
0
)
{
selectmodesitem[i].setselected(
true
);
}
selectbg.add(selectmodesitem[i]);
selectmodemenu.add(selectmodesitem[i]);
final
int
index = i;
//为设置选择方式的菜单项添加监听器
selectmodesitem[i].addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent evt)
{
//如果当前菜单项处于选中状态,表格使用对应的选择方式
if
(selectmodesitem[index].isselected())
{
table.getselectionmodel().setselectionmode(selectmodes[index]);
}
}
});
}
menubar.add(selectunitmenu);
//-----------为窗口安装设置表格选择单元的菜单-----------
rowsitem.setselected(table.getrowselectionallowed());
columnsitem.setselected(table.getcolumnselectionallowed());
cellsitem.setselected(table.getcellselectionenabled());
rowsitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent event)
{
table.clearselection();
//如果该菜单项处于选中状态,设置表格的选择单元是行
table.setrowselectionallowed(rowsitem.isselected());
//如果选择行、选择列同时被选中,其实质是选择单元格
cellsitem.setselected(table.getcellselectionenabled());
}
});
selectunitmenu.add(rowsitem);
columnsitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent event)
{
table.clearselection();
//如果该菜单项处于选中状态,设置表格的选择单元是列
table.setcolumnselectionallowed(columnsitem.isselected());
//如果选择行、选择列同时被选中,其实质是选择单元格
cellsitem.setselected(table.getcellselectionenabled());
}
});
selectunitmenu.add(columnsitem);
cellsitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent event)
{
table.clearselection();
//如果该菜单项处于选中状态,设置表格的选择单元是单元格
table.setcellselectionenabled(cellsitem.isselected());
//该选项的改变会同时影响选择行、选择列两个菜单
rowsitem.setselected(table.getrowselectionallowed());
columnsitem.setselected(table.getcolumnselectionallowed());
}
});
selectunitmenu.add(cellsitem);
jf.setjmenubar(menubar);
//分别获取表格的三个表格列,并设置三列的最小宽度,最佳宽度和最大宽度
tablecolumn namecolumn = table.getcolumn(columntitle[
0
]);
namecolumn.setminwidth(
40
);
tablecolumn agecolumn = table.getcolumn(columntitle[
1
]);
agecolumn.setpreferredwidth(
50
);
tablecolumn gendercolumn = table.getcolumn(columntitle[
2
]);
gendercolumn.setmaxwidth(
50
);
//将jtable对象放在jscrollpane中,并将该jscrollpane放在窗口中显示出来
jf.add(
new
jscrollpane(table));
system.out.println(table.getmodel());
jf.pack();
jf.setdefaultcloseoperation(jframe.exit_on_close);
jf.setvisible(
true
);
}
public
static
void
main(string[] args)
{
new
adjustingwidth().init();
}
}
|
运行效果:
和jlist,jtree类似,jtable采用tablemodel来保存表格中的所有状态数据,采用tablecolumnmodel来保存所有列的数据.
示例3:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
package
awtdemo;
import
java.awt.borderlayout;
import
java.awt.event.actionevent;
import
java.awt.event.actionlistener;
import
java.util.arraylist;
import
javax.swing.jframe;
import
javax.swing.jmenu;
import
javax.swing.jmenubar;
import
javax.swing.jmenuitem;
import
javax.swing.jscrollpane;
import
javax.swing.jtable;
import
javax.swing.table.defaulttablemodel;
import
javax.swing.table.tablecolumn;
import
javax.swing.table.tablecolumnmodel;
public
class
testdefaulttablemodel
{
jframe mainwin =
new
jframe(
"管理数据行、数据列 - www.zzvips.com"
);
final
int
column_count =
5
;
defaulttablemodel model;
jtable table;
//用于保存被隐藏列的list集合
arraylist<tablecolumn> hiddencolumns =
new
arraylist<tablecolumn>();
public
void
init()
{
model =
new
defaulttablemodel(column_count ,column_count);
for
(
int
i =
0
; i < column_count ; i++ )
{
for
(
int
j =
0
; j < column_count ; j++ )
{
model.setvalueat(
"老单元格值 "
+ i +
" "
+ j , i , j);
}
}
table =
new
jtable(model);
mainwin.add(
new
jscrollpane(table), borderlayout.center);
//为窗口安装菜单
jmenubar menubar =
new
jmenubar();
mainwin.setjmenubar(menubar);
jmenu tablemenu =
new
jmenu(
"管理"
);
menubar.add(tablemenu);
jmenuitem hidecolumnsitem =
new
jmenuitem(
"隐藏选中列"
);
hidecolumnsitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed1(actionevent event)
{
//获取所有选中列的索引
int
[] selected = table.getselectedcolumns();
tablecolumnmodel columnmodel = table.getcolumnmodel();
//依次把每一个选中的列隐藏起来,并使用list把这些列保存起来
for
(
int
i = selected.length -
1
; i >=
0
; i--)
{
tablecolumn column = columnmodel.getcolumn(selected[i]);
table.removecolumn(column);
//把隐藏的列保存起来,确保以后可以显示出来
hiddencolumns.add(column);
}
}
@override
public
void
actionperformed(actionevent e) {
// todo 自动生成的方法存根
}
});
tablemenu.add(hidecolumnsitem);
jmenuitem showcolumnsitem =
new
jmenuitem(
"显示隐藏列"
);
showcolumnsitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent event)
{
//把所有隐藏列依次显示出来
for
(tablecolumn tc : hiddencolumns)
{
//依次把所有隐藏的列显示出来
table.addcolumn(tc);
}
//清空保存隐藏列的list集合
hiddencolumns.clear();
}
});
tablemenu.add(showcolumnsitem);
jmenuitem addcolumnitem =
new
jmenuitem(
"插入选中列"
);
addcolumnitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent event)
{
//获取所有选中列的索引
int
[] selected = table.getselectedcolumns();
tablecolumnmodel columnmodel = table.getcolumnmodel();
//依次把选中的列添加到jtable之后
for
(
int
i = selected.length -
1
; i >=
0
; i--)
{
tablecolumn column = columnmodel.getcolumn(selected[i]);
table.addcolumn(column);
}
}
});
tablemenu.add(addcolumnitem);
jmenuitem addrowitem =
new
jmenuitem(
"增加行"
);
addrowitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent event)
{
//创建一个string数组作为新增行的内容
string[] newcells =
new
string[column_count];
for
(
int
i =
0
; i < newcells.length; i++)
{
newcells[i] =
"新单元格值 "
+ model.getrowcount() +
" "
+ i;
}
//向tablemodel中新增一行。
model.addrow(newcells);
}
});
tablemenu.add(addrowitem);
jmenuitem removerowsitem =
new
jmenuitem(
"删除选中行"
);
removerowsitem.addactionlistener(
new
actionlistener()
{
public
void
actionperformed(actionevent event)
{
//获取所有选中行
int
[] selected = table.getselectedrows();
//依次删除所有选中行
for
(
int
i = selected.length -
1
; i >=
0
; i--)
{
model.removerow(selected[i]);
}
}
});
tablemenu.add(removerowsitem);
mainwin.pack();
mainwin.setdefaultcloseoperation(jframe.exit_on_close);
mainwin.setvisible(
true
);
}
public
static
void
main(string[] args)
{
new
testdefaulttablemodel().init();
}
}
|
运行效果:
但要注意列的增加,只是将原来隐藏的列显示,而不是真正增加列,你要新增的话那就重新new个jtable 。
前面讲的表格,单元格都是字符串,这是由于我们传入的都是defaulttablemodel它最终调用tostring方法来绘制表格,具体自定义单元格的方法如下, 。
示例4:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
public
class
testtablecellrenderer
{
jframe jf =
new
jframe(
"使用单元格绘制器"
);
jtable table;
//定义二维数组作为表格数据
object[][] tabledata =
{
new
object[]{
"李清照"
,
29
,
"女"
,
new
imageicon(
"icon/3.gif"
) ,
true
},
new
object[]{
"苏格拉底"
,
56
,
"男"
,
new
imageicon(
"icon/1.gif"
) ,
false
},
new
object[]{
"李白"
,
35
,
"男"
,
new
imageicon(
"icon/4.gif"
) ,
true
},
new
object[]{
"弄玉"
,
18
,
"女"
,
new
imageicon(
"icon/2.gif"
) ,
true
},
new
object[]{
"虎头"
,
2
,
"男"
,
new
imageicon(
"icon/5.gif"
) ,
true
}
};
//定义一维数据作为列标题
string[] columntitle = {
"姓名"
,
"年龄"
,
"性别"
,
"主头像"
,
"是否中国人"
};
public
void
init()
{
//以二维数组和一维数组来创建一个extendedtablemodel对象
extendedtablemodel model =
new
extendedtablemodel(columntitle , tabledata);
//以extendedtablemodel来创建jtable
table =
new
jtable( model);
table.setrowselectionallowed(
false
);
table.setrowheight(
40
);
//获取第三列
tablecolumn lastcolumn = table.getcolumnmodel().getcolumn(
2
);
//对第三列采用自定义的单元格绘制器
lastcolumn.setcellrenderer(
new
gendertablecellrenderer());
//将jtable对象放在jscrollpane中,并将该jscrollpane放在窗口中显示出来
jf.add(
new
jscrollpane(table));
jf.pack();
jf.setdefaultcloseoperation(jframe.exit_on_close);
jf.setvisible(
true
);
}
public
static
void
main(string[] args)
{
new
testtablecellrenderer().init();
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class
extendedtablemodel
extends
defaulttablemodel
{
//重新提供一个构造器,该构造器的实现委托给defaulttablemodel父类
public
extendedtablemodel(string[] columnnames , object[][] cells)
{
super
(cells , columnnames);
}
//重写getcolumnclass方法,根据每列的第一个值来返回其真实的数据类型
public
class
getcolumnclass(
int
c)
{
return
getvalueat(
0
, c).getclass();
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
class
gendertablecellrenderer
extends
jpanel
implements
tablecellrenderer
{
private
string cellvalue;
//定义图标的宽度和高度
final
int
icon_width =
23
;
final
int
icon_height =
21
;
public
component gettablecellrenderercomponent(jtable table, object value,
boolean
isselected,
boolean
hasfocus,
int
row,
int
column)
{
cellvalue = (string)value;
//设置选中状态下绘制边框
if
(hasfocus)
{
setborder(uimanager.getborder(
"table.focuscellhighlightborder"
));
}
else
{
setborder(
null
);
}
return
this
;
}
//重写paint方法,负责绘制该单元格内容
public
void
paint(graphics g)
{
//如果表格值为"男"或"male",则绘制一个男性图标
if
(cellvalue.equalsignorecase(
"男"
)
|| cellvalue.equalsignorecase(
"male"
))
{
drawimage(g ,
new
imageicon(
"icon/male.gif"
).getimage());
}
//如果表格值为"女"或"female",则绘制一个女性图标
if
(cellvalue.equalsignorecase(
"女"
)
|| cellvalue.equalsignorecase(
"female"
))
{
drawimage(g ,
new
imageicon(
"icon/female.gif"
).getimage());
}
}
//绘制图标的方法
private
void
drawimage(graphics g , image image)
{
g.drawimage(image, (getwidth() - icon_width ) /
2
, (getheight() - icon_height) /
2
,
null
);
}
}
|
我这里只是实现了每列不同的控件,大家还可以自定义一个表格每行每列都是不同的控件,那就要得到单元格再setcellrender.
希望本文所述对大家java程序设计有所帮助.
原文链接:http://blog.csdn.net/tototuzuoquan/article/details/8982538 。
最后此篇关于Java Swing组件编程之JTable表格用法实例详解的文章就讲到这里了,如果你想了解更多关于Java Swing组件编程之JTable表格用法实例详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
好的,这听起来很简单,但我已经花了几个小时在谷歌上搜索,我只是找不到解决方案,这并不复杂。 我想创建一个包含图像和文本的表格。我希望表格的每一行都具有相同的高度。我希望文本始终从顶部开始。 IE。 \
在我的网站表单上 - 我的出生日期、月份和年份菜单显示在两行上,我希望它们都显示在同一行上。 当我测试代码时,它显示在一行中,所以我相信一定存在宽度问题。 您可以在右侧表格 (incomeprotec
我们需要跟踪和审核生产,本质上我们有很多订单,但我们似乎在途中丢失了一些产品(废品等)。 为了阻止这种情况,我们现在已在 Google 表格上下了订单,并列出了应有的数量,然后员工会写下收到的数量。
我正在转换我的应用程序,以便它适用于 iOS 7。在应用程序的一部分,我有两个搜索栏,每个搜索栏都有一个与之关联的 UISearchDisplayController。当我搜索 UISearchDis
正如标题所说,非固定表格布局是否与类似的 HTML 表格具有相同的性能问题? 最佳答案 非固定表格的问题在于,要确定一列的宽度,必须加载该列的所有单元格。这仅在...... …您有一个包含几千字节或几
我在使用 Javascript 遍历表格并从一行的第一个单元格获取文本时遇到问题。我想获取此单元格的文本,以便我可以将它与其他内容进行比较,如果文本匹配则删除该行。但是,当我尝试获取文本时,实际出现的
我经常发现自己想要制作一个表格表格——一堆行,每一行都是一个单独的表格,有自己的字段和提交按钮。例如,这是一个宠物店应用程序示例——假设这是一个结帐屏幕,您可以选择更新所选宠物的数量和属性,并在结帐前
看过许多UBB代码,包括JS,ASP,JSP的,一直没发现表格的UBB,虽然可以直接用HTML模式实现相同表格功能,但对于某些开放的站点来说开放HTML模式终究是不合适的,故一直想实现表格的UBB。
表格由 table 标签来定义。每个表格均有若干行(由 tr 标签定义),每行被分割为若干单元格(由 td 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格
我有一个 HTML 与 border-radius和使用 position: sticky 的粘性标题看起来像这样: https://codepen.io/muhammadrehansaeed/pen
对于 iPhone 应用程序,我需要以网格格式显示只读表格数据。该数据可能有许多行和列。 我可以使用 UITableView,但问题是数据很可能会非常宽并且需要滚动。 有没有办法将 UITableVi
我知道这里有类似的问题,但我找不到适合我的答案。 我想要的是显示表单“默认”是选择了某些选项(在这种情况下,除了“Ban Appeal”或“Ban Appeal(西类牙语)”之外的所有内容,我希望仅在
天啊! 我想在Flutter中创建以下非常简单的表。基本上是两列文字,左列右对齐,右列左对齐。如果右列具有多个名称,则每一行都将顶部对齐。 左列应自动调整为最大项目的大小(因为每个标题都有翻译字符串)
我们开始构建 SSAS 表格模型,并想知道大多数人是否拥有一个或多个模型。如果有多个,您是否复制每个所需的表,或者是否有办法在模型之间共享表?我想我知道答案,但我希望那些有更多经验的人能够证实我们的发
tl;博士 如何将任意数量的单词分成两列,总是在最后一列中只有最后一个单词,在第一列中包含所有其他单词? =IFS( LEN(C2)-LEN(SUBSTITUTE(C2," ",""))=1, SP
你们知道一个图表或dable,它可以提供一个简短而简洁但仍然完整且相对最新的现有协议(protocol)及其细节的 View ? (即:ZeroMQ、Rendez-Vous、EMS、...所有这些!:
我才刚刚开始开发MFC应用程序,我希望对整个“控件”概念更加熟悉。我在Visual Studio中使用对话框编辑器,到目前为止,我无法找到添加简单表/网格的功能。这对我来说似乎很基础,但是我什至找不到
我需要对一个非常大的表或矩阵执行计算和操作,大约有 7500 行和 30000 列。 矩阵数据将如下所示: 文件编号|字1 |字 2 |字 3 |... |字 30000 |文档类 0032 1 0
我正在使用设计非常糟糕的数据库,我需要在编写查询之前重新调整表格。 以下是我的常见问题: 时间戳已分为两列(一列用于日期,另一列用于时间)。 一些字符串列也被拆分成多个列。 大多数字符串都有固定长度和
我正在尝试显示 $row["name"] 通过 HTML Table 的形式,如下所示: echo " ".$row["name"]." "; 我也从这里获取行变量: $que
我是一名优秀的程序员,十分优秀!