有没有人知道是否有可能使用NHibernate来判断对象上的特定属性是否脏(即属性与存储在DB上的属性不同)?
这个问题的背景是我将拥有一个具有(相对)大量属性的对象.我需要能够将一个参数(字符串)传递给一个函数,该函数将确定该特定属性是否在页面的生命周期内发生了变化.
如果我需要,我可以创建对象的副本,并在页面生命周期结束时使用反射来检查值,但我不愿意这样做.如果NHibernate可以简单地告诉我财产是否脏,那将是很好的.
谢谢
背景:我正在创建一个自定义列表框,每个列表框项上都有单选按钮,所以基本上它将是一个RadioButtonList.控件完全由代码创建.截至目前,控件呈现并正确运行并支持2个方向(水平/垂直).列表框使用ItemTemplate,它是一个带有RadioButton和TextBlock的StackPanel.
到目前为止,我已经能够通过使用将其背景设置为透明的样式来防止项目的背景颜色在选择项目时更改.
我也想对前景色做同样的事情.
基本上,ListBox的Selection模式是单一的,当选择一个项目时,我只希望它被RadioButton反射.
我使用以下代码来设置ItemContainerStyle:
System.Windows.Style style =
new System.Windows.Style(typeof(System.Windows.Controls.ListBoxItem));
System.Windows.Media.SolidColorBrush brush =
new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Transparent);
style.Resources.Add(System.Windows.SystemColors.HighlightBrushKey, brush);
Run Code Online (Sandbox Code Playgroud)
我的模板的TextBlock是使用System.Windows.FactoryFrameworkElement创建的,如下所示:
System.Windows.FrameworkElementFactory factoryTextBlock =
new System.Windows.FrameworkElementFactory(typeof(System.Windows.Controls.TextBlock));
factoryTextBlock.SetBinding(System.Windows.Controls.TextBlock.TextProperty, new System.Windows.Data.Binding("Description"));
factoryStackPanel.AppendChild(factoryTextBlock);
Run Code Online (Sandbox Code Playgroud)
然后将FactoryTextBox附加到FactoryStackPanel并设置为ListBox的ItemTemplate.
目前,我在选择项目时将背景颜色设置为透明.由于文本默认设置为白色,因此在选择项目时它会直观消失.我正在寻找一种方法,在选择文本块的前景时设置颜色.现在它可以是黑色,但最终它会引用更高级别的字体颜色.
有没有办法确定哪个元素在onsubmit处理程序中提交了一个表单?试图编写一个知道点击了哪个元素的通用处理程序.例如,给定以下形式:
<form onsubmit="onSubmitHandler">
<input type="submit" name="submit1" />
<input type="submit" name="submit2" />
</form>
Run Code Online (Sandbox Code Playgroud)
如何在onSubmitHandler中确定单击了哪个提交按钮?我尝试了event.target/event.srcElement,但它提供了表单,而不是实际的提交按钮.
更新:我在这里写一个通用控件,所以它不知道表单上有什么.解决方案需要在不知道和更改表单的html的情况下工作.我的后备是走DOM,找到可能导致提交的所有按钮,但我想避免这种情况.
我带领一小群程序员进入大学,去年刚刚进入这个职位.虽然我们的大部分团队都是全职员工,但我们有几个传统上是研究生助理的人.
这些助学金的竞争相当激烈,因为他们在获得工作的同时可以获得免费的研究生学费.我们要求他们注册至少一年,但我们认为如果他们留两个人就很幸运.之后,他们获得硕士学位,继续学习更大更好的东西.
您可以想象,招聘和重新培训这些职位需要时间和资源.更糟糕的是,到目前为止,他们通常是唯一一个从事各自项目工作的开发人员,我担任顾问和监督职务,因此当我们从开发人员转为开发人员时,争论项目本身以对抗熵是一项任务对自己.
我很想让管理员找到一个全职(和长途)开发人员来取代这两个职位的可能性,但对于一个处于预算危机中的学校来说,支付两个半职的研究生助理要便宜得多(在工资和福利方面)比支付一名全职开发人员.此外,由于我是这个职位的新手,我想避免看似好像我无法处理我注册的内容.对于可预见的未来,我认为聘用短期研究生助理的做法不会改变.
我的问题:考虑到员工在工作一年之后可能会离开,我该怎么做才能创建一个有效的培训计划?
顺便说一下,为了记录,我们在Perl中完成了绝大部分的开发工作.很难找到知道Perl的研究生,而另一方面,每个人似乎至少对Java有学术上的理解.因此,我问了一会儿这个问题.
我正在创建一个查看Web应用程序的文档.您登录后会将您带到左侧列出所有文档的屏幕.我想这样做,以便当您翻转文档时,文档的预览显示在右侧.从那里,您可以单击它以获得完整视图和打印功能.我不是要问如何做到这一切,但我想知道渲染文档预览的最佳方法是什么.这些文件都将是pdf并存储在服务器上.我在视觉工作室2008的asp.net 3.5 mvc工作.
我想在WPF ItemsControl中显示Customer对象列表.我为此创建了一个DataTemplate:
<DataTemplate DataType="{x:Type myNameSpace:Customer}">
<StackPanel Orientation="Horizontal" Margin="10">
<CheckBox"></CheckBox>
<TextBlock Text="{Binding Path=Number}"></TextBlock>
<TextBlock Text=" - "></TextBlock>
<TextBlock Text="{Binding Path=Name}"></TextBlock>
</StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
所以我想要的基本上是一个包含NUMBER - NAME的简单列表(带复选框).有没有办法可以在绑定部分直接连接数字和名称?
当然,必须有很多方法来优化以下代码,我必须确保很多文本框都不是空的,然后读取它们的值:
if (foo1.Text.Length != 0 & bar1.Text.Length != 0)
{
output.Text += myStrings[i] + " / " + foo1.Text + " / " + bar1.Text;
}
if (foo2.Text.Length != 0 & bar2.Text.Length != 0)
{
output.Text += myStrings[i] + " / " + foo2.Text + " / " + bar2.Text;
}
if (foo3.Text.Length != 0 & bar3.Text.Length != 0)
{
output.Text += myStrings[i] + " / " + foo3.Text + " / " + bar3.Text;
}
if (foo4.Text.Length != 0 …Run Code Online (Sandbox Code Playgroud) 大多数面向对象的语言都将其接口名称加上大写字母I,为什么Java不这样做呢?不遵守这一惯例的理由是什么?
为了证明我的意思,如果我想要一个用户界面和一个用户实现,我在Java中有两个选择:
- Class = User,Interface = UserInterface
- Class = UserImpl,Interface = User
在大多数语言中:
Class = User,Interface = IUser
现在,您可能会争辩说,您总是可以为用户实现选择一个最具描述性的名称,但问题就会消失,但Java正在推动POJO方法,而大多数IOC容器都广泛使用DynamicProxies.这两个因素共同意味着您将拥有许多具有单个POJO实现的接口.
所以,我想我的问题归结为:"是否值得遵循更广泛的接口命名约定,特别是考虑到Java框架似乎在哪里?"
我们当前运行特定的SQL脚本作为Ant部署过程的一部分.
我们要做的是更改它,以便我们在给定目录中运行所有SQL脚本.我们无法弄清楚如何在Ant中获取此目录列表并遍历列表并运行每个SQL脚本.有谁知道如何做到这一点?
注意:我们当前使用exec运行" call sqlplus ${id}/${pw}@${db.instance} @${file}" 的Ant 任务运行sql文件
我有一个小代码示例,我想包含在方法的Javadoc注释中.
/**
* -- ex: looping through List of Map objects --
* <code>
* for (int i = 0; i < list.size(); i++) {
* Map map = (Map)list.get(i);
* System.out.println(map.get("wordID"));
* System.out.println(map.get("word"));
* }
* </code>
*
* @param query - select statement
* @return List of Map objects
*/
Run Code Online (Sandbox Code Playgroud)
问题是代码示例显示在Javadoc中,没有换行符使其难以阅读.
-- ex: looping through List of Map objects -- for (int i = 0; i list.size(); i++) { Map map = (Map)list.get(i); System.out.println(map.get("wordID")); System.out.println(map.get("word")); }
Parameters
query …Run Code Online (Sandbox Code Playgroud) c# ×2
html ×2
java ×2
wpf ×2
.net ×1
ant ×1
asp.net-3.5 ×1
asp.net-mvc ×1
datatemplate ×1
dhtml ×1
image ×1
interface ×1
javadoc ×1
javascript ×1
listboxitem ×1
nhibernate ×1
optimization ×1
pdf ×1
sql ×1