我正在使用System.Windows.Forms.DataGrid.它填充了大约3000行并且重绘速度非常慢.如果我最小化和最大化我的表单所有其他控件只显示但我最终逐行观看DataGrid重绘.如果这会产生影响,那么此DataGrid中的所有内容都是只读的.
更新:
我不确定如何为我的项目正确实现CellValueNeeded()事件,或者它是否有助于我的DataGrid的性能.
我正在创建一个包含DataGridView的用户控件(请参阅下面的代码).调用SetProject()方法时,我的控件被设置为我的Project类的特定实例.然后控件使用静态方法Informa.Data.GetProjectDataTable(Project proj)从Project中提取DataTable.然后将DataGrid的DataSource属性设置为返回的DataTable.
这是我第一次使用ADO或DataGrids做任何事情,所以请耐心等待.看起来CellValueNeed()允许我覆盖DataGrid如何为其中一个单元格找到值,但在我的情况下,这比MSDN上的示例复杂得多.我的数据的实际来源是各种Node对象的树结构,其根目录是Project实例.每个节点都可以有一组可变属性,用户也可以在运行时进行扩展.然后还有许多其他复杂性,节点从其父节点继承属性值,并从其子节点总计其他属性.
Informa.Data.GetProjectDataTable()切断所有这些疯狂,并生成所有节点的所有属性的单个平面DataTable.此时,我不关心是否能够将此表的任何更改与原始树结构相关联,或者在树结构更改时更新表的特定部分.我想要做的就是在DataGrid中向用户显示数据.
那么我实现CellValueNeeded()来从Project提供的DataTable中读取吗?我认为DataGrid已经知道如何有效地使用DataTable作为DataSource?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Informa;
namespace Informa
{
public partial class ProjectGridControl : UserControl
{
private Project proj;
public ProjectGridControl()
{
InitializeComponent();
}
public void SetProject(Project proj)
{
this.proj = proj;
UpdateGridControl();
}
public void UpdateGridControl()
{
if (this.proj == null)
{
this.dataGrid.DataSource = null;
}
else
{
//Extracts a DataTable from the project and sets it as the …Run Code Online (Sandbox Code Playgroud) 我需要让Win32应用程序加载一个硬编码的AES-256密钥,理想情况下使用WinCrypt.h方法.我的密钥在unsigned char [32]中,但我找不到正确的密钥blob格式传递给CryptImportKey.一切似乎都给我无效的参数错误.有没有办法做到这一点?
(同样重要的是如何在WinCrypt中设置IV.我根本看不到怎么做)
Rails方法Array#to_sentence允许以下内容:
['a', 'b', 'c'].to_sentence # gives: "a, b, and c"
Run Code Online (Sandbox Code Playgroud)
我想扩展这个方法以允许它占用一个块,这样你就可以做类似下面的事情(其中人是Person对象的数组,它具有name属性):
people.to_sentence { |person| person.name }
# => "Bill, John, and Mark"
Run Code Online (Sandbox Code Playgroud)
编写扩展方法时没有问题.但我无法确定在哪里放置它.Rails核心扩展在某个深处加载ActiveSupport.我需要一个总是加载用户定义代码的地方,并预先加载(在任何应用程序代码之前).
我有以下问题。我有 C 代码,它获取 PNG 图像作为基本原始数据并将其保存在内存中。我希望通过使用 JNI 将这些原始数据转换为 Java 中的 BufferedImage。有谁知道这样做的任何方法或以前做过吗?
我有:
class T {};
class S: public T {};
vector<T*> v;
vector<S*> w;
transform(v.begin(), v.end(), dynamic_cast_iterator<S*>(w.begin()));
Run Code Online (Sandbox Code Playgroud)
但是,当然,dynamic_cast_iterator不存在.
我有一个单独的链表,由于内存限制,我需要在恒定的空间中对它进行排序(换句话说,不应该使用与列表中的项目数成比例的额外空间).
链表的结构是:
head.item=您要排序的有效负载; 和head.next =下一个项目.对于我建立另一个列表的恒定空间折扣解决方案的要求,我需要就地进行.
我怎样才能做到这一点?
如何使用SSL保护启用Silverlight的WCF Web服务?我试过设置它类似于SSL保护的常规WCF服务,但它似乎不起作用.您在Web.Config中设置了什么,以及您在Silverlight的ServiceReferences.ClientConfig中设置了什么?
我注意到在Silverlight客户端应用程序的ServiceReferences.ClientConfig文件中,"绑定"标记仅允许basicHttpBinding和NOT wsHttpBinding.这是否意味着您无法保护启用Silverlight的WCF服务?如果有,有更好的方法来保护它吗?
我正在尝试将数据上传到Google App Engine(使用GWT).我正在使用FileUploader小部件,servlet使用InputStream来读取数据并直接插入数据存储区.在本地运行,我可以成功上传大文件,但是当我将它部署到GAE时,我受限于30秒的请求时间.有没有办法解决?或者有什么方法可以将文件拆分成更小的块并发送更小的块?
这是粗略数字的情况.我想知道我的想法(在底部)对你们来说是否合理.(旁注:我在这里已经阅读了许多相关问题,并且有用,因为它们似乎没有涉及这个具体问题.)
2年来,我是X公司的高级开发人员.我是全职的W-2,每年可以获得10万美元的福利.(大约50美元/小时).
[然后我被解雇了,但那不是重点.我在一个大城市,可以轻松找到工作.我很高兴在家工作而不是在办公室工作.]
在2个月的时间里,我为网络公司Y公司做了一些自由项目.这是1099,我收费80美元/小时.(我在大约2个月左右的时间里做了大约100个小时,并认为我很快就需要其他一些客户).
Y公司热爱我的工作,因此获得了新的工作.他们想要我更多的时间并且给了我一份6个月的合同,无论工作时间多少都按固定的月费率(他们假设每周40他).我还在远程工作.
所以...
由于显而易见的原因,我的自由职业率高于我原来的W-2全职率.我也意识到,由于自由职业"全职"需要大量的管理和销售,我绝不会真正以80美元的价格购买40小时/周.(我一直在想更多地向其他客户收费,比如100美元/小时.)
但是,我意识到,从Y公司的角度来看,向我提供6个月的保留合同的安全性应该会降低我的小时费率(批量折扣?),因为我现在有更多的计费时间和更少的行政管理.这仍然需要加强我的旧W-2工作,因为它值得我花时间,特别是由于缺乏福利和更复杂的税收情况.
现在我希望我最初向公司收取Y $ 100/hr的初始自由职业项目,以便我可以给他们更好的交易,并为这6个月的合同收取80美元/小时的费用.
很抱歉这么久,但是我希望你们得到我的漂移.基本上,我应该每小时给他们一个较低的,但我真的不想.
我的假设是正确的,就小时费率而言,
全职-W-2 <长期1099 <基于短期项目的1099?
如果是这样,Y公司可以采取什么样的良好谈判策略来保持我的小时费率,并有效地减少他们的批量折扣?"嘿伙计们,你们在这些个别项目中获得了超低利率!"
如果我们有3个开发人员在同一个Biztalk项目上工作,那么设置开发环境的最佳方法是什么?
我们使用TFS来存储Biztalk项目.
我们应该使用1个sql server和1个Biztalk服务器,然后有一个或多个访问sql和biztalk服务器的开发者机器吗?我们得到的问题是,当1个开发人员编译和部署他们的更改时,如果他们也在尝试编译和部署他们的工作,它可能会影响其他开发人员.
我们是否应该让每个开发人员在他们的机器上或在他们自己的虚拟机中托管他们自己的完整的sql和biztalk服务器以进行本地开发?我们发现的问题是每个开发人员都可以修改他们的服务器设置,这些设置不会存储在源代码管理中.将更改部署到测试服务器时,这可能会导致混淆.另一个较小的问题是每个开发人员都需要安装sql server,biztalk server和windows server.
是否有另一种方法来设置多开发人员biztalk开发环境?