我遇到了这个用于连接行元素的CTE解决方案,我认为它很棒,我意识到CTE有多强大.
但是,为了有效地使用这样的工具,我需要知道它如何在内部工作以构建心理图像,这对于像我这样的初学者来说在不同场景中使用它是必不可少的.
所以我试着慢动作上面代码片段的过程,这里是代码
USE [NORTHWIND]
GO
/****** Object: Table [dbo].[Products2] Script Date: 10/18/2011 08:55:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('Products2','U') IS NOT NULL DROP TABLE [Products2]
CREATE TABLE [dbo].[Products2](
[ProductID] [int] IDENTITY(1,1) NOT NULL,
[ProductName] [nvarchar](40) NOT NULL,
[SupplierID] [int] NULL,
[CategoryID] [int] NULL,
[QuantityPerUnit] [nvarchar](20) NULL,
[UnitPrice] [money] NULL,
[UnitsInStock] [smallint] NULL,
[UnitsOnOrder] [smallint] NULL,
[ReorderLevel] [smallint] NULL,
[Discontinued] [bit] NOT NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[Products2] ON
INSERT [dbo].[Products2] …Run Code Online (Sandbox Code Playgroud) 有没有办法像这样使用Raphael绘制形状(矩形)?
http://devfiles.myopera.com/articles/649/example3.html
我尝试了下面的代码,但它没有做到这一点,因为矩形形状只出现在((onmouseup))事件之后
与上面所需的示例鼠标单击并按住,形状以点开始,然后随着用户移动鼠标直到用户释放鼠标,形状变为永久性,形状的大小会发生变化
$("#div1").mousedown(function(e) {
var offset = $("#div1").offset();
mouseDownX = e.pageX - offset.left;
mouseDownY = e.pageY - offset.top;
});
$("#div1").mouseup(function(e) {
var offset = $("#div1").offset();
var upX = e.pageX - offset.left;
var upY = e.pageY - offset.top;
var width = upX - mouseDownX;
var height = upY - mouseDownY;
DrawRectangle(mouseDownX, mouseDownY, width, height);
});
function DrawRectangle(x, y, w, h) {
var element = paper.rect(x, y, w, h);
element.attr({
fill : "gray",
opacity : .5,
stroke : "#F00"
}); …Run Code Online (Sandbox Code Playgroud)