我正在编辑一个旧的MS Access应用程序,其中一个表单包含一堆子表单.子表单都包含静态定位的对象,不应滚动.
我的问题是,如果用户选择一个TextBox朝向子窗体的底部并开始编辑它,窗体会自动滚动以使TextBox更接近顶部,这基本上会切断窗体的顶部.
如何禁用此行为?
我有一个DataGrid绑定ObservableCollection
自我跟踪实体
用户可以"删除"DataGrid中的记录,但这些项目实际上并未从数据库中删除.
如何才能显示未标记为已删除的行?
我正在使用MVVM模式.
如果我去开始>运行并输入
C:\文件夹\程序.exe A=1
我的程序有效。
如果我创建 .exe 的快捷方式并编辑属性以附加A=1
到目标路径,它也可以工作。
但是,如果我尝试运行
var p = new Process();
p.StartInfo.FileName = @"C:\folder\Program.exe";
p.StartInfo.Arguments = "A=1"
p.Start();
Run Code Online (Sandbox Code Playgroud)
或者
Process.Start(@"C:\folder\Program.exe, "A=1");
Run Code Online (Sandbox Code Playgroud)
它没有。
这两个调用之间有什么区别,我该如何更改代码调用,使其运行方式与在“开始”>“运行”中键入值时的运行方式完全相同?
跨多个数据库表维护唯一ID字段的最佳方法是什么?
我的数据库包含企业和人员,并且两个实体都需要具有与之关联的唯一ID字段.此外,还有其他表(例如地址)可以使用其ID作为外键来引用业务或个人.
我想到的一些想法是:
使用插入行时计算的非自动编号ID字段.这将解决我的独特问题,但随后我想通过相关属性(例如通过地址)查找内容时,我必须检查两个表中哪一个包含我正在寻找的记录.
在AutoNumber ID中添加一个Prefix,以确定要查找ID的表,但是,关联表中的ID字段可能要么成为字符串,要么包含与它们关联的表的标志,我不知道如何影响表现.
将人员和企业合并到一个表中.我的问题是人和企业有不同的属性,需要单独的字段,这种情况违背了我的本性,因为我更喜欢为单独的实体分别使用表.
创建一个包含唯一ID字段的主表,Person或Business的ID字段,以及一个标记,说明它是哪一个.然后使用该ID作为我的外部引用#和所有关联表.
一些更好的处理方式,我不知道,因为我不是一个dba
无论我采用什么解决方案都需要能够轻松处理大量记录(这将取代的数据库有几百万条记录)并且在MS Sql Server上
database database-design entity-relationship multiple-tables unique-key
最近,我一直在尝试实现MVVM设计模式,但我遇到了两个我无法解决的问题:
在我看来,我必须在我的Model类中使用ObservableCollection,以便将它在ModelView中传递给View.我希望我错了,因为View不能影响Model结构,我不应该局限于这个特定的集合类型.
有没有办法用值类型项目列表进行双向绑定?
例:
public ObservableCollection<bool> MyBooleans
{
get { return m_booleans; }
}
Run Code Online (Sandbox Code Playgroud)
<ListView ItemsSource="{Binding MyBooleans}" ...>
<ItemTemplate>
...
<CheckBox IsChecked="{Binding}" ... />
...
</ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud)