Default.aspx
<script>
var dragElementPattern = ".+_a$";
var divElements = document.getElementsByTagName("div");
for (i = 0; i < divElements.length; i++) {
if (IsMatch(divElements[i].id, dragElementPattern)) {
MakeElementDraggable(divElements[i]);
}
}
</script>
var dragElementPattern = ".+_a$";
var divElements = document.getElementsByTagName("div");
for (i = 0; i < divElements.length; i++) {
if (IsMatch(divElements[i].id, dragElementPattern)) {
MakeElementDraggable(divElements[i]);
}
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div style="width: 532px">
<div id="dZone" class="DefaultDropZoneColor"
style="position: absolute; top: 48px; left: 539px; width: 300px; overflow: auto; height:
<div style="width: 532px">
<div id="dZone" class="DefaultDropZoneColor"
style="position: absolute; top: 48px; left: 539px; width: 300px; overflow: auto; height:
300px">
Shopping Bag
<div class="totalBox" id="divTotal">0.00</div>
</div>
<asp:DataList Height="80%" Width="75%" ID="dlToys" runat="server"
RepeatColumns="3" CellPadding="20" CellSpacing="20">
<ItemTemplate>
<div ID="a" runat = "server" class="dragElement">
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>' />
<asp:Label ID="lblPrice" runat="server" Text = '<%# Eval("Price") %>' />
<asp:Image ID="imgPicture" Height="70%" Width="100%" runat="server" ImageUrl='<%#
Shopping Bag
<div class="totalBox" id="divTotal">0.00</div>
</div>
<asp:DataList Height="80%" Width="75%" ID="dlToys" runat="server"
RepeatColumns="3" CellPadding="20" CellSpacing="20">
<ItemTemplate>
<div ID="a" runat = "server" class="dragElement">
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>' />
<asp:Label ID="lblPrice" runat="server" Text = '<%# Eval("Price") %>' />
<asp:Image ID="imgPicture" Height="70%" Width="100%" runat="server" ImageUrl='<%#
Eval("ImageUrl") %>' />
</div>
</ItemTemplate>
</asp:DataList>
</div>
</div>
</ItemTemplate>
</asp:DataList>
</div>
<script language="javascript" type="text/javascript">
var mouseState = 'up';
var clone = null;
var totalPurchase = 0.0;
var dropZoneArray = new Array(1);
dropZoneArray[0] = "dZone";
var titlePattern = ".+_lblTitle$"
var pricePattern = ".+_lblPrice$"
var dragElementPattern = ".+_a$";
var uniqueNumber = 1;
function ResetColor()
{
document.getElementById("dZone").className = 'DefaultDropZoneColor';
}
function IsInDropZone(evtTarget)
{
var result = false;
// iterate through the array and find it the id exists
for(i = 0; i < dropZoneArray.length; i++)
{
if(evtTarget.id == dropZoneArray[i])
{
result = true;
break;
}
}
return result;
}
function MakeElementDraggable(obj)
{
var startX = 0;
var startY = 0;
function InitiateDrag(e)
{
mouseState = 'down';
var evt = e || window.event;
startX = parseInt(evt.clientX);
startY = parseInt(evt.clientY);
clone = obj.cloneNode(true);
clone.style.position = 'absolute';
clone.style.top = parseInt(startY) + 'px';
clone.style.left = parseInt(startX) + 'px';
document.body.appendChild(clone);
document.onmousemove = Drag;
document.onmouseup = Drop;
return false;
}
function Drop(e)
{
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
var dZone = document.getElementById("dZone");
if( evt.clientX > dZone.offsetLeft && evt.clientX < (dZone.offsetLeft + dZone.offsetWidth)
&& evt.clientY > dZone.offsetTop && evt.clientY < (dZone.offsetTop + dZone.offsetHeight))
{
AddPrice();
}
document.onmouseup = null;
document.onmousemove = null;
document.body.removeChild(clone);
mouseState = 'up';
ResetColor();
}
function AddPrice()
{
var title = GetProductTitle();
var price = GetProductPrice();
var dZone = document.getElementById("dZone");
var textNode = document.createTextNode(title);
var priceNode = document.createTextNode(price);
var spaceNode = document.createTextNode(': $');
var paragraphElement = document.createElement('p');
// create the delete button
var deleteButton = document.createElement('button');
deleteButton.value = 'Delete';
deleteButton.innerHTML = 'Delete';
deleteButton.onclick = DeleteItem;
var item = document.createElement('div');
item.id = 'itemDiv' + uniqueNumber;
item.appendChild(paragraphElement);
item.appendChild(textNode);
item.appendChild(spaceNode);
item.appendChild(priceNode);
item.appendChild(spaceNode);
item.appendChild(deleteButton);
dZone.appendChild(item);
// increment the price
IncrementTotal(price);
uniqueNumber++;
}
function DeleteItem(e)
{
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
if(IsFireFox())
{
price = evtTarget.parentNode.childNodes[2].nodeValue;
evtTarget.parentNode.parentNode.removeChild(evtTarget.parentNode);
}
else
{
price = evtTarget.parentElement.childNodes[2].nodeValue;
evtTarget.parentElement.parentElement.removeChild(evtTarget.parentElement);
}
DecrementTotal(price);
}
function DecrementTotal(price)
{
totalPurchase -= Math.ceil(Number(price));
document.getElementById("divTotal").innerHTML = totalPurchase;
}
function IncrementTotal(price)
{
totalPurchase += Math.ceil(Number(price));
document.getElementById("divTotal").innerHTML = totalPurchase;
}
function GetProductPrice()
{
var price = '';
if(IsFireFox()) {
price = (clone.childNodes[3].innerHTML);
}
else price = (clone.childNodes[2].innerHTML);
return price;
}
function GetProductTitle()
{
var title = '';
if(IsFireFox())
{
title = clone.childNodes[1].innerHTML;
}
else { title = clone.childNodes[0].innerHTML; }
return title;
}
function IsFireFox()
{
if(navigator.appName == 'Netscape')
return true;
else return false;
}
function Drag(e)
{
if(mouseState == 'down') {
// only drag when the mouse is down
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
clone.style.top = evt.clientY + 'px';
clone.style.left = evt.clientX + 'px';
// Check if we are in the drop Zone
if(IsInDropZone(evtTarget))
{
evtTarget.className = 'highlightDropZone';
}
else
{
ResetColor();
}
}
}
obj.onmousedown = InitiateDrag;
}
function IsMatch(id, pattern)
{
var regularExpresssion = new RegExp(pattern);
if(id.match(regularExpresssion)) return true;
else return false;
}
var divElements = document.getElementsByTagName("div");
for(i=0;i<divElements.length;i++)
{
if(IsMatch(divElements[i].id, dragElementPattern))
{
MakeElementDraggable(divElements[i]);
}
}
</script>
var mouseState = 'up';
var clone = null;
var totalPurchase = 0.0;
var dropZoneArray = new Array(1);
dropZoneArray[0] = "dZone";
var titlePattern = ".+_lblTitle$"
var pricePattern = ".+_lblPrice$"
var dragElementPattern = ".+_a$";
var uniqueNumber = 1;
function ResetColor()
{
document.getElementById("dZone").className = 'DefaultDropZoneColor';
}
function IsInDropZone(evtTarget)
{
var result = false;
// iterate through the array and find it the id exists
for(i = 0; i < dropZoneArray.length; i++)
{
if(evtTarget.id == dropZoneArray[i])
{
result = true;
break;
}
}
return result;
}
function MakeElementDraggable(obj)
{
var startX = 0;
var startY = 0;
function InitiateDrag(e)
{
mouseState = 'down';
var evt = e || window.event;
startX = parseInt(evt.clientX);
startY = parseInt(evt.clientY);
clone = obj.cloneNode(true);
clone.style.position = 'absolute';
clone.style.top = parseInt(startY) + 'px';
clone.style.left = parseInt(startX) + 'px';
document.body.appendChild(clone);
document.onmousemove = Drag;
document.onmouseup = Drop;
return false;
}
function Drop(e)
{
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
var dZone = document.getElementById("dZone");
if( evt.clientX > dZone.offsetLeft && evt.clientX < (dZone.offsetLeft + dZone.offsetWidth)
&& evt.clientY > dZone.offsetTop && evt.clientY < (dZone.offsetTop + dZone.offsetHeight))
{
AddPrice();
}
document.onmouseup = null;
document.onmousemove = null;
document.body.removeChild(clone);
mouseState = 'up';
ResetColor();
}
function AddPrice()
{
var title = GetProductTitle();
var price = GetProductPrice();
var dZone = document.getElementById("dZone");
var textNode = document.createTextNode(title);
var priceNode = document.createTextNode(price);
var spaceNode = document.createTextNode(': $');
var paragraphElement = document.createElement('p');
// create the delete button
var deleteButton = document.createElement('button');
deleteButton.value = 'Delete';
deleteButton.innerHTML = 'Delete';
deleteButton.onclick = DeleteItem;
var item = document.createElement('div');
item.id = 'itemDiv' + uniqueNumber;
item.appendChild(paragraphElement);
item.appendChild(textNode);
item.appendChild(spaceNode);
item.appendChild(priceNode);
item.appendChild(spaceNode);
item.appendChild(deleteButton);
dZone.appendChild(item);
// increment the price
IncrementTotal(price);
uniqueNumber++;
}
function DeleteItem(e)
{
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
if(IsFireFox())
{
price = evtTarget.parentNode.childNodes[2].nodeValue;
evtTarget.parentNode.parentNode.removeChild(evtTarget.parentNode);
}
else
{
price = evtTarget.parentElement.childNodes[2].nodeValue;
evtTarget.parentElement.parentElement.removeChild(evtTarget.parentElement);
}
DecrementTotal(price);
}
function DecrementTotal(price)
{
totalPurchase -= Math.ceil(Number(price));
document.getElementById("divTotal").innerHTML = totalPurchase;
}
function IncrementTotal(price)
{
totalPurchase += Math.ceil(Number(price));
document.getElementById("divTotal").innerHTML = totalPurchase;
}
function GetProductPrice()
{
var price = '';
if(IsFireFox()) {
price = (clone.childNodes[3].innerHTML);
}
else price = (clone.childNodes[2].innerHTML);
return price;
}
function GetProductTitle()
{
var title = '';
if(IsFireFox())
{
title = clone.childNodes[1].innerHTML;
}
else { title = clone.childNodes[0].innerHTML; }
return title;
}
function IsFireFox()
{
if(navigator.appName == 'Netscape')
return true;
else return false;
}
function Drag(e)
{
if(mouseState == 'down') {
// only drag when the mouse is down
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
clone.style.top = evt.clientY + 'px';
clone.style.left = evt.clientX + 'px';
// Check if we are in the drop Zone
if(IsInDropZone(evtTarget))
{
evtTarget.className = 'highlightDropZone';
}
else
{
ResetColor();
}
}
}
obj.onmousedown = InitiateDrag;
}
function IsMatch(id, pattern)
{
var regularExpresssion = new RegExp(pattern);
if(id.match(regularExpresssion)) return true;
else return false;
}
var divElements = document.getElementsByTagName("div");
for(i=0;i<divElements.length;i++)
{
if(IsMatch(divElements[i].id, dragElementPattern))
{
MakeElementDraggable(divElements[i]);
}
}
</script>
Default.aspx.CS
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindData();
}
}
{
if (!Page.IsPostBack)
{
BindData();
}
}
private void BindData()
{
SqlConnection myConnection = new SqlConnection(@"Data Source=SQLDB;Persist Security
{
SqlConnection myConnection = new SqlConnection(@"Data Source=SQLDB;Persist Security
Info=True;User ID=Demod;Password=Demo1@");
SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM tblToys", myConnection);
DataSet ds = new DataSet();
ad.Fill(ds);
dlToys.DataSource = ds;
dlToys.DataBind();
}
SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM tblToys", myConnection);
DataSet ds = new DataSet();
ad.Fill(ds);
dlToys.DataSource = ds;
dlToys.DataBind();
}