我正在使用KnockoutJS和Typescript编写单页应用程序.
问题是这个,我有一个MainViewModel方法:
public addToCase(email) {
this.addToCaseVM.setEmail(email, this.getEmailBody());
};
Run Code Online (Sandbox Code Playgroud)
我的页面中有一个电子邮件视图,其中包含一个"添加到案例"按钮,该按钮以html绑定,如下所示:
<a class="btn btn-info" data-bind="click: $root.addToCase" data-toggle="modal" href="#addToCaseModal"><i class="icon-plus-sign"></i> Add To Existing Case</a>
Run Code Online (Sandbox Code Playgroud)
$ root是我的MainViewModel.单击此按钮时,函数的"email"参数是MainViewModel中正确选择的电子邮件,但函数的范围也是EmailViewModel,而不是定义函数的MainViewModel.
我理解为什么会发生这种情况,我对如何解决Typescript中的特定问题感兴趣,因为我不能像在纯javascript中那样声明指向MainViewModel实例的指针:
var MainViewModel = (function(){
var self = this;
this.addToCase = function(email) {
self.addToCaseVM.setEmail(email, self.getEmailBody());
};
})();
Run Code Online (Sandbox Code Playgroud) 我的团队编写了一个监控系统,我们最近将监控的定义迁移到了 git 存储库中。这些定义由一些 json 和 powershell 文件组成。VSCode 是编辑和处理 git 的理想场景。问题是在开发监控时,能够在测试环境中执行它是很好的。以前所有编辑都是通过 Web 界面完成的,我们允许通过 AzureAD 和 OAuth2.0 保护的 API 对测试机器临时执行 powershell。
VS Code 扩展无法访问完整的电子 API,并且您无法创建 BrowserWindow 来处理通常的 OAuth 重定向流。有没有办法解决这个限制并允许用户对我们的 api 进行身份验证,以便我们可以调用它?
任何想法或可能的解决方法都会很棒。
我有一张收费/信用栏目表:
Item | PriceVal | CostVal | CHARGE_CODE
1 5 3 CH
2 8 5 CH
1 -5 -3 CR
3 7 1 CH
4 15 10 CH
1 5 3 CH
Run Code Online (Sandbox Code Playgroud)
我已经得到了我需要获得NET价格和成本的查询,但我也对NET收费感兴趣.现在我有:
SELECT Item, SUM(PriceVal), SUM(CostVal)
FROM Table
GROUP BY Item
Run Code Online (Sandbox Code Playgroud)
如何获取具有该值的另一列
COUNT(SUM(CHARGE_CODE=CH)-SUM(CHARGE_CODE=CR))
Run Code Online (Sandbox Code Playgroud)
我不知所措.
我有一张存储处方药物信息的表格,需要每天从中央处方集更新.临时表与药物表相同.临时表数据可以与主表相同(并且在大多数情况下也是如此),或者它可以具有更新的行或新行.
我有一个存储过程来更新主表,但它失败,因为它不会更新NULL行(如果临时表中有一个新行).
这是一个MSSQL Server 2005.
我在哪里错了:
-- Insert statements for procedure here
UPDATE [RX_Billing].[dbo].[FS_Drug]
SET [TRADENAME] = [RX_Billing].[dbo].[FS_Drug_TEMP].[TRADENAME]
,[CDM] = [RX_Billing].[dbo].[FS_Drug_TEMP].[CDM]
,[NDC] = [RX_Billing].[dbo].[FS_Drug_TEMP].[NDC]
,[IP_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[IP_COST]
,[OP_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[OP_COST]
,[HH_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[HH_COST]
,[VAR_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[VAR_COST]
,[LSTUPDATE] = [RX_Billing].[dbo].[FS_Drug_TEMP].[LSTUPDATE]
FROM [RX_Billing].[dbo].[FS_Drug]
RIGHT OUTER JOIN [RX_Billing].[dbo].[FS_Drug_TEMP] ON
[RX_Billing].[dbo].[FS_Drug].[TRADENAME] =
[RX_Billing].[dbo].[FS_Drug_TEMP].[TRADENAME]
Run Code Online (Sandbox Code Playgroud)
编辑:
我选择了Rory的代码.谢谢,这很好用.
Orion Edwards的注释:UPSERT/MERGE正是我想要的,但SQL Server 2005不支持它.显然它是有计划的,但没有发布.它在Server 2008中可用.(从Interwebs告诉我的内容.)