您可以将您的“聚合根”表示为演员。当您想要改变聚合根时,您可以从请求处理参与者发送一条消息来执行此操作。您还可以拥有一个中间代理参与者,将消息转发给正确的参与者,并通过实例化代表按需数据的参与者并根据需要停止它们来管理聚合根参与者的缓存(按 id )。 如果您需要协调表示数据的参与者之间的突变,则需要 STM。
android:配置更改
列出活动将自行处理的配置更改。当运行时发生配置更改时,默认情况下 Activity 会关闭并重新启动,但使用此属性声明配置将阻止 Activity 重新启动。相反,该活动保持运行状态并调用其 onConfigurationChanged() 方法。
因此,如果您只需要管理旋转,键盘标志就没用了,因为文档说:
“键盘”键盘类型已更改 - 例如,用户插入了外部键盘
事件发生时将调用 onConfigurationChanged()
回调。因此,您的自定义代码位于回调 self 内部是正确的。
您可以设置g:netrw_chgwin
变量以使netrw在特定窗口中打开文件。请参阅:
:h netrw-C
因此,要使当前窗口成为 netrw 的目标,请在该窗口中键入以下内容:
:let g:netrw_chgwin = winnr()
另一种方法是在目标窗口中启动 netrw (:E
),点击 C< /code> 选择它进行编辑并使用
关闭 netrw。
该问题很可能是由于这些表是动态添加到页面的这一事实引起的。 tablefilter.js 正在查看作为原始文件一部分的现有 html。我建议将 testphp.php 选项移动到隐藏的 3 个不同的 div 中。这样,选项就已经是 html 的一部分了。然后,当在下拉选项中选择一个时,只需更改要显示的所选 div 的样式即可。这将避免您必须重写 tablefilter.js 的部分内容。
PS 你的 php.ini 中不需要那么多 echo。每桌一个就够了。哈哈。
这里有两种类型的占位符,可重新选择和隐藏:
演示: http://jsfiddle.net/lachlan/FuNmc/
可重新选择占位符:
<select>
<option value="" selected>Please select</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
</select>
隐藏占位符:
<select class="empty">
<option value="" selected disabled>Please select</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
</select>
用于更改第一项颜色的 CSS:
select option { color: black; }
select option:first-child { color: grey; }
select.empty { color: grey; }
/* Hidden placeholder */
select option[disabled]:first-child { display: none; }
以及一些用于在选择后切换字体颜色的 jQuery:
// Applies to all select boxes that have no value for their first option
$("select:has(option[value=]:first-child)").on('change', function() {
$(this).toggleClass("empty", $.inArray($(this).val(), ['', null]) >= 0);
}).trigger('change');
灵感:
https://stackoverflow.com/a/5805194/1196148 - 可重新选择的占位符
https://stackoverflow.com/a/8442831/1196148 - 隐藏占位符
如果没有正确的设置,on(...)
不会订阅页面上尚未出现的事件。要执行您想要的操作,您应该尝试以下操作:
$(document).on("change", "#subcategory_id", function(){
alert( 'Success!' );
});
为了提高效率,您应该将 $(document)
替换为您知道在执行此代码时将出现在页面上的元素的最接近的父元素被称为。
我只是在这里推测,但如果有人实现基于 CLR 的聚合函数,顺序可能会很重要。我之前在 C# 中实现了一个聚合函数,我有这样的感觉,根据聚合实际执行的操作,分组的顺序可能会影响它。
我对聚合 CLR 函数如何与引擎交互了解不够,无法真正说出更多内容:/
创建 UITextField
的子类并重写下面给出的方法,
/*< Place holder position >*/
- (CGRect)textRectForBounds:(CGRect)bounds {
bounds.size.width = bounds.size.width - 20.0f;
return bounds;
}
/*< Text Posiotion >*/
- (CGRect)editingRectForBounds:(CGRect)bounds {
bounds.size.width = bounds.size.width - 20.0f;
return bounds;
}
干杯!
如何让 Android 中的应用程序\服务即使用户破坏了它也能运行?
如果“distroied”是指用户通过“设置”应用程序强制停止应用程序,则从 Android 3.1 开始,您的应用程序将不会再次运行,直到用户手动启动您的 Activity(例如,通过主屏幕启动器)。
如果“distroied”意味着用户使用“任务杀手”杀死了应用程序,那么您的应用程序将不会再次运行,直到用户手动启动您的活动(例如,通过主屏幕启动器),至少通过Android 2.1。
即使用户关闭应用程序,我也需要一个类能够工作,我该怎么做?
重新设计您的应用程序,使其不再“即使用户关闭该应用程序,也需要一个类能够工作”。用户可以控制他们的手机,而你却不能。
完成向导后,在“设计”视图的底部,您应该会看到“列组”窗格。右键单击月份列组并选择组属性。
在出现的窗口中,您可以选择排序部分,您可以在其中更改或添加用于排序该组的字段。在您的情况下,您可能需要使用公式(fx 按钮),例如
=SWITCH(Fields!Month_Achieved.Value = "January", 1,
Fields!Month_Achieved.Value = "February", 2,
Fields!Month_Achieved.Value = "March", 3,
.
.
.
Fields!Month_Achieved.Value = "December", 12)
This is if you 实际上从数据集中返回月份名称而不是月份的日期时间值。
Mobile SDK 可以帮助登录、oAuth 以及与 SFDC 对象进行通信。您需要像任何其他 iOS 应用程序一样实现推送通知服务。
要从 Salesforce 发布任何事件的通知,您可以使用 Urban Airship 或 Streaming API。
http://wiki.developerforce.com/page/Push_Notifications_for_Salesforce_Mobile_Apps_with_Urban_Airship
这个问题有点难以理解,但我假设您想要使用 getImageData 和 putImageData 执行以下操作:
// save the entire canvas (in this example, its 500 x 500) to be restored later
image = context.getImageData(0, 0, 500, 500);
function draw() {
context.clearRect(0, 0, canvas.width, canvas.height); // clear entire canvas
context.putImageData(image, 0, 0); // restore entire canvas saved previously
/** Now, draw other stuff on top of the canvas **/
}
您可以通过在 Parent
表单中将所需属性设置为公共属性来访问它们。不确定为什么您需要该按钮,如果您希望为单击执行某些操作,那么您应该将逻辑封装到单独的方法中,然后由它们进行调用。
如果您需要传递的详细信息较少,则为新表单创建接受这些值的构造函数
ChildForm child = new ChildForm([label1], [label2])
或
ChildForm child = new ChildForm([parent form reference]) // so you could access require components
像这样的事情:
' A Start date an end Date to test with
Dim StartingDate As DateTime = DateTime.Now
Dim TargetEndDate As DateTime = DateTime.Now.AddYears(1).AddDays(5).AddMinutes(45)
' Get the difference between the two dates, and Create a new Date containing just the total days
Dim DifferenceBetweenDates As TimeSpan = TargetEndDate.Subtract(StartingDate)
Dim DiffFromSystemDate As New DateTime(0, 0, DifferenceBetweenDates.TotalDays)
' Get the number of years, months and days left
Dim NumberOfYears As Integer = DiffFromSystemDate.Year - 1
Dim NumberOfMonths As Integer = DiffFromSystemDate.Month - 1
Dim NumberOfDays As Integer = StartingDate.Day - DateTime.DaysInMonth(StartingDate.Year, StartingDate.Month)
' Build up the result string
Dim Result As String = String.Format("{0} YEAR, {1} MONTHS, {3} DAYS LEFT", NumberOfYears, NumberOfMonths, NumberOfDays)
- 我还没有编译它
- 它还没有完全工作(闰年和一年中的几天)
请参阅重复中的 JonSkeets 帖子以获得更好的方法
我通过添加 200 毫秒的等待块来减慢 NXT 的速度来修复此问题。这很有效,看起来砖头有点超前了。
I fixed this by adding a 200ms wait block to slow the NXT down. This worked, it seemed that the brick was getting ahead of itself.
为什么该程序在针对计算机而不是 NXT 时可以在 LabView 中运行?