我做了一个自定义控件,它是一个FlowLayoutPanel,我在其中放了一堆其他自定义控件(只是按钮,每个都有三个标签和一个PictureBox叠加)
它可以正常使用大约100个按钮,但是最多可以达到1000个按钮并且它有问题.撞到高达5000并且它在20秒后死亡.
我有很少的自定义代码,我明智地使用暂停和恢复布局.
那么我做错了什么?我确信我的(相当快速的)计算机应该能够处理几千个按钮和标签.
(我对C#GUI很新,所以也许我应该做的事情完全不同.)
编辑1:
这几乎是目前唯一的自定义代码:
flowLayoutPanel1.SuspendLayout();
foreach (DataRow row in dt.Rows) // dt is from a DB query
{
flowLayoutPanel1.Controls.Add(new PersonButton(row));
}
flowLayoutPanel1.ResumeLayout();
Run Code Online (Sandbox Code Playgroud)
并在PersonButton构造函数中:
this.label1.Text = row["FirstName"].ToString().Trim() + " "
+ row["Surname"].ToString().Trim();
Run Code Online (Sandbox Code Playgroud)
(还应该附上图片,但我不确定是否有人能看到它.)
编辑2:
我想我应该使用DataGridView或ListView,但我想要的不仅仅是一行文本和每行一个小图标; 我希望它看起来类似于firefox中的下载视图(Ctrl + J).(见截图)
非常感谢您的所有投入,BTW.我想我必须重新思考......
alt text http://img156.imageshack.us/img156/1057/capture.png
我正在使用Template :: Toolkit的日期插件(Template :: Plugin :: Date),它适用于直接从MySQL中取出的日期时间(yyyy-mm-dd hh:mm:ss),但它不起作用与日期(yyyy-mm-dd).
获取date.format以接受日期(不修改sql查询)的最简单方法是什么?
谢谢.
我想基于两个VARCHAR列我的结果进行排序COL_A和COL_B.
如果值COL_A是('val1', 'val2', 'val3'),我希望它的出现在顶部,否则,我希望它出现在底部.然后,我想在COL_B上做一个简单的词典排序.在MySQL中,我会这样做:
ORDER BY IF(COL_A IN ('val1', 'val2', 'val3'), 0, 1), COL_B
Run Code Online (Sandbox Code Playgroud)
但这在SQL Server 2008中不起作用.是否有等价的?
我可以在准备好的语句中使用占位符来查询我的查询的order by子句吗?
我猜不是,因为我尝试了,它似乎没有用,但它也没有抛出任何错误,这看起来很奇怪.
有没有更好的方法来做到这一点,除了生成带有验证输入的SQL字符串?
我正在做这样的事情:
for f in `find -iname '*.html'`; do scp $f remoteserver:$f; done;
Run Code Online (Sandbox Code Playgroud)
我已经通过了1000个文件中的大约3个,我已经决定要中止操作了.
CTRL + C仅转义SCP登录提示并将我带到下一个,而不是转义for循环.
有没有比击中CTRL + C 9997次更好的方法?
谢谢!
我试图截断一个300,000行的表.当没有其他查询正在运行时,我运行截断查询,它只是挂起.
show processlist; 说国家正在"更新".
服务器版本:5.1.41-3ubuntu12.8(Ubuntu)
该表是InnoDB.
任何想法为什么会发生这种情况,或者我如何进一步调查问题?
谢谢.
我想使用相对路径将文件上传到远程 sftp 服务器。例如,我希望能够上传到sftp://myserver.com/FileStore. 我尝试使用以下代码但它不起作用:注意:主机是myserver.com/FileStore
uri = URI.parse('sftp://' + host)
Net::SFTP.start(uri.host,username,:password=>password,:port=>port) do |sftp|
sftp.upload(testupload.zip,"#{uri.path}/testupload.zip")
end
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Net::SFTP::StatusException open /FileStore/testupload.zip (2, "no such file")
Run Code Online (Sandbox Code Playgroud) 以下HTML无效,有效的替代方法是将form标签放在table标签之外。我的问题是为什么决定将其定为非法。
<table>
<tbody>
<form>
<tr>
<td></td>
<td></td>
</tr>
</form>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)