我有一个MS Access数据库,其中包含源 - 目标对中的翻译句子(CAT工具的其他用户的翻译记忆库).有点烦人的是,源和目标不是存储在单独的列中,而是存储在由ID链接的行中,如下所示:
+---+----+--------------+
|id |lang| text |
+---+----+--------------+
1 a lang a text
1 b lang b text
2 a more a text...
2 b more b text...
+---+----+--------------+
Run Code Online (Sandbox Code Playgroud)
我可以使用什么SQL将其转换为表格,例如:
+---+--------------+--------------+
|id | lang A | lang B |
+---+--------------+--------------+
1 lang a text lang b text
2 more a text... more b text...
Run Code Online (Sandbox Code Playgroud)
性能在这里并不重要,因为我只需要偶尔执行一次,并且db不是很大(只有几千行).
我有一个扩展和折叠行的表,列可以排序.以下是我的代码,是否有任何方法可以改善其性能.并且读取将完整的行组添加到dom中可以提高性能,但是如果我执行了$ .each()循环则会抛出错误. teble演示
var alt = true;
var altSub = true;
$.each(myData, function(index, row) {
var noRow = $(row).length;
var firstRow = $(row[0]);
for (var i=0; i < noRow; i++) {
if(firstRow.attr('id') == $(row[i]).attr('id')) {
if(alt == true) {
firstRow.removeClass("odd").addClass("even");
alt = !alt;
altSub = true;
} else if( alt == false) {
firstRow.removeClass("even").addClass("odd");
alt = !alt;
altSub = true;
}
} else {
if(altSub == true) {
$(row[i]).removeClass("alt_row_sub").addClass("alt_row_sub2");
altSub = !altSub;
} else if( altSub == false) {
$(row[i]).removeClass("alt_row_sub2").addClass("alt_row_sub"); …Run Code Online (Sandbox Code Playgroud) 当我尝试从单个列数据帧中删除最后一行时,我得到一个向量而不是数据帧:
> df = data.frame(a=1:10)
> df
a
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
> df[-(length(df[,1])),]
[1] 1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
我正在寻找的行为是当我在两列数据帧上使用此命令时会发生什么:
> df = data.frame(a=1:10,b=11:20)
> df
a b
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18
9 9 19
10 10 20
> …Run Code Online (Sandbox Code Playgroud) 我设法让我的表中的行可以单击并链接到元素的href属性<a>.但是当我使选择器只选择除最后一列之外的行时,我开始遇到问题.
使用下面的代码,可点击的行仅对整个行有效,除了最后一个单元格,这是我需要的,因为我在此单元格中有管理链接(链接以激活,编辑,删除等行).唯一的问题是,无论您点击哪一行,它都会将您发送到最上一行的链接.我认为这与我的选择器有关,find('td a')但我无法弄明白.
$('#dataTable tr td:not(:last-child)').click(function () {
location.href = $('#dataTable tr').find('td a').attr('href');
});
Run Code Online (Sandbox Code Playgroud)
悬停效果很好,只有当鼠标位于除最后一列之外的任何单元格上方时才会更改指针.
$('#dataTable tr td:not(:last-child)').hover(
function() {
$(this).css('cursor','pointer');
},
function() {
$(this).css('cursor','auto');
}
);
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个只有两行的gridview.我的目的是使它看起来像一个有两排的画廊,一个在另一个上面,并有一个水平卷轴.我看到您可以更改gridview中的列数,但无法找到如何更改行数.我感谢任何帮助,如果不可能使用gridview也欣赏任何想法.
我有一个DataGridView和一个Button.如果选择了行,我想通过单击按钮删除它们.我尝试了类似的命令RemoveAt,SelectedRows等等,但没有做的工作.我怎么解决这个问题?
我尝试过类似的东西:
if (dataGridView2.SelectedRows.Count > 0)
{
DataGridViewSelectedRowCollection rows = dataGridView2.SelectedRows;
dataGridView2.Rows.RemoveAt(rows);
}
Run Code Online (Sandbox Code Playgroud)
但RemoveAt方法只接受整数.在我使用Selected Cells尝试它之前,他删除了所有行,因为总是选择一个单元格.
首先,我是PDO的新手.我正在做一个小项目来提高自己.
我正在使用这样的代码从我的数据库中获取单行:
$sql = "SELECT * FROM users WHERE ID = 1";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
并回显该行的任何结果:
echo $user['ID'];
echo $user['Name'];
Run Code Online (Sandbox Code Playgroud)
我只需要使用一个查询就可以从我的数据库中获取多行.我不想一遍又一遍地查询我需要的每一行.
我想到的第一件事就是尝试这个:
$sql = "SELECT * FROM users WHERE ID = 1 AND ID = 4 AND ID = 17";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
但它没有按预期工作.我研究了几个小时的编码论坛,但所有答案都是关于使用fetchAll方法,然后使用foreach循环输出结果.我不想通过加载整个数据库表来拉紧代码.我只想使用一个查询从我的数据库加载特定的行.
所以我的问题是:
如何在不使用fetchAll方法且只使用一个查询的情况下从数据库中获取多个特定行?
感谢您提前的答案和时间.
对不起,如果之前有问题.
我是golang的新手。我想从MySQL数据库创建登录验证。我想要一个类似PHP的方法mysqli_num_rows($res) == 1...我尝试过len(rows)或rows.Column()@,fmt.Println("No of rows are :", rows)但不会...我尝试过的代码...(这是一个伪代码)
rows, err := db.Query("select * from userLog where u_name = ? and u_pass = ?", uname, pswd)
if err != nil {
log.Fatal(err)
}
fmt.Println("No of rows are :", rows)
defer rows.Close()
Run Code Online (Sandbox Code Playgroud)
如果您还有其他用于登录验证的解决方案,请提出建议并简要解释一下。请帮我。
我有一个包含开始和结束时间的data.frame:
ranges<- data.frame(start = c(65.72000,65.72187, 65.94312,73.75625,89.61625),stop = c(79.72187,79.72375,79.94312,87.75625,104.94062))
> ranges
start stop
1 65.72000 79.72187
2 65.72187 79.72375
3 65.94312 79.94312
4 73.75625 87.75625
5 89.61625 104.94062
Run Code Online (Sandbox Code Playgroud)
在此示例中,第2行和第3行中的范围完全在第1行的"start"和第4行的"stop"之间的范围内.因此,重叠范围1-4应折叠为一个范围:
> ranges
start stop
1 65.72000 87.75625
5 89.61625 104.94062
Run Code Online (Sandbox Code Playgroud)
我试过这个:
mdat <- outer(ranges$start, ranges$stop, function(x,y) y > x)
mdat[upper.tri(mdat)|col(mdat)==row(mdat)] <- NA
mdat
Run Code Online (Sandbox Code Playgroud)
而现在我只需要弄清楚如何结合所有真实的,但不确定它是否是最好的方法
我想做这样的事情:
基本上,我使用的是一个UICollectionView和细胞(3个不同.xib).
到目前为止,它的确有效.
我想做的是:
autoheightUIColectionView
2.1 添加1行如果平板电脑,则在纵向上将有2行并且横向3行.(基本上与第2点相同,只增加1行.我有这样的事情:
extension ViewController {
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator){
setSizeSize()
}
func setSizeSize(){
if(DeviceType.IS_IPAD || UIDevice.current.orientation == .landscapeLeft || UIDevice.current.orientation == .landscapeRight){
if let layout = myCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
layout.estimatedItemSize = CGSize(width: 1, height: 1)
layout.invalidateLayout()
}
}else{
if let layout = myCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
layout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize
layout.invalidateLayout()
}
}
myCollectionView.collectionViewLayout.invalidateLayout()
}
}
Run Code Online (Sandbox Code Playgroud)
不行.此外,它冻结设备.在模拟器上工作特殊.(我相信更多的设备)
我也尝试过这个,但它有时会起作用......
如果您需要更多信息,请告诉我.
提前谢谢大家的帮助.