自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (8)
  • 收藏
  • 关注

转载 main.box源码用网络盒子本地调试Asp程序

以下是本人收集的 main.box 中控制生成可执行程序窗体实现不同功能和效果的代码很不错:ht.caption                   '控制是否显示标题栏ht.toolwindow=false          '控制是否在任务栏显示ht.topmost=true              '控制在最前端显示ht.scrollbar=false

2013-04-25 18:18:23 2119

转载 修改netbox

http://film.iteye.com/blog/254918这篇文章是转载的,但是我补充一点,修改netbox是修改netbox安装目录下的netbox.exe而不是修改编译成的exe,不然会出现dos窗口而无法运行~! 改造NETBOX!要先准备工具!我这里提供给大家了!ASPACK加壳破解版c32Asm中文版(精简)quickunpack汉化版资源替换工具

2013-04-25 14:14:57 905

转载 C#开发自己的Web服务器

http://blog.okbase.net/haobao/archive/60.html下载源代码 介绍我们将学习如何写一个简单的web服务器,用于响应知名的HTTP请求(GET和POST),用C#发送响应。然后,我们从网络访问这台服务器,这次我们会说“Hello world!” 背景HTTP协议HTTP是服务器和客户机之间的通信协议。它使用TCP/IP协议来

2013-04-25 11:23:30 839

转载 使用C#开发自己的web服务器(图)

摘要这 篇文章讨论了如何使用C#开发一个简单的web服务器应用程序。尽管我们可以使用任何一种支持.NET的编程语言开发,但我选择了C#。本篇文章中的代码 是使用微软的β2版的Visual C# Compiler Version 7.00.9254 [CLR version v1.0.2914]编译通过的,对代码作一些小的改动后,使用β1版也可能编译通过。该web服务器应用程序能够与IIS或其他

2013-04-25 10:56:30 3257

转载 Eclipse快捷键 10个最有用的快捷键

1. ctrl+shift+r:打开资源    这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。2. ctrl+o:快速outline    如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找

2013-04-23 15:49:07 429

转载 Eclipse快捷键大全(转载)

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2013-04-23 15:46:30 421

转载 (总结)Oracle启动监听报错:The listener supports no services解决

PS:前几天一台项目开发使用的Oracle11g服务器重启系统之后,出现了几个莫名的报错,下面是其中一个,已解决。$ lsnrctl start报错提示:The listener supports no servicesThe command completed successfully如图所示:这样启动后远程连接会报错:oracle ORA-12514:T

2013-04-23 11:35:49 749

转载 Sqlite DateTime读取和写入格式问题

http://www.shangxueba.com/jingyan/108788.html今天遇到个问题.首先插入一个DataTime格式的数据:string sql="insert into [table] (date_time) values('" + date_time.ToString() + "'";执行如上命令.插入没有报告错误.但是,我又用一条命令读取

2013-04-22 11:05:30 1440

转载 C# WinForm 如何实现程序重启?

if ( MessageBox.Show("要重新启动嘛?","提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes) System.Diagnostics.Process.Start(System.Reflection.Assembl

2013-04-22 11:01:25 3304

转载 c#读取INI文件

http://www.cnblogs.com/seanly/articles/1620069.htmlusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace 读写ini文件{    public clas

2013-04-22 11:00:54 523

转载 sqlite转换日期格式

1.date()函数返回一个以“YYYY-MM-DD”为格式的日期;  2.time()函数返回一个以“YYYY-MM-DD HH:MM:SS”为格式的日期时间;   3.julianday()函数返回一个天数,从格林威治时间公元前4714年11月24号开始算起;   4.strftime()函数返回一个经过格式话的日期时间,它可以用下面的符号对日期和时间进行格式化:

2013-04-19 16:17:54 2937

转载 RichTextBox自动添加右键菜单 .

http://blog.csdn.net/li0544/article/details/7406605 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Drawing;using Syste

2013-04-11 11:31:08 3248

转载 为RichTextBox添加快捷功能菜单(复制, 剪切,粘贴,全选)

实现该菜单功能主要有两种方法:第一种:通过发送击键到应用程序来实现。先焦点定位到当前活动的RichTextBox,然后再通过发送击键命令来实现操作功能?richTextBox1.Focus();SendKeys.Send("^a");//全选SendKeys.Send("^c");//复制SendKeys.Send("^x")

2013-04-11 11:24:40 992

转载 C#文件浏览器制作的详细过程

C#的功能十分强大,用它可以轻松地做出属于自己的C#文件浏览器。下面简单地介绍一下C#文件浏览器的大致实现过程。其中涉及的有关这些控件的具体用法可参见C#的联机帮助。制作C#文件浏览器需要用到几个控件:TreeView(用于显示显示目录树);ListView(用于显示文件和目录列表);Splitter(用于允许用户调整TreeView和ListView的大小);其它的如:Mai

2013-04-11 11:08:43 2273

转载 如何在windows下提取某个文件夹下面所有文件的文件名

如何在windows下提取某个文件夹下面所有文件的文件名。当然,懂技术的人一个函数搞定了。我这里要介绍一个更简单的方法,不用函数。几个dos命令搞定。 首先,开始》运行》cmd直接键入盘符,进入文件夹所在的分区。  用cd命令进入你要提取文件名的文件夹。 用“dir/b >articlelist.txt”命令把所有文件名写入到articlelist.txt的

2013-04-11 10:35:41 1002

转载 SQL实现多行记录聚合成一行

http://mikixiyou.iteye.com/blog/1627981 将一个字段的多行记录按照另一个字段值进行分组,组合成一行记录。新组合成的一行记录可以使用特定字符如逗号加以区分。在以前的文档中,我写好一个方法( http://mikixiyou.iteye.com/blog/1489127 )。使用row_number() over 函数。那是在Oracle 10g中使用

2013-04-09 17:33:15 2709

转载 在MS SQL中将表中多行数据合并成一列数据

http://jackyxfl.blog.163.com/blog/static/164134150201111744558743/ 假设有一个文章表 Post 和一个评论表 Comments,可以对文章进行多次评论,现在希望在对 Post 表查询时能将 Post 的所有评论内容组合到一个字段中显示。--首先创建表Post和CommentsCREATE TABLE Post(

2013-04-09 15:03:29 1009

转载 Combobox出现System.Data.DataRowView的原因,以及指定ValueMember的时机问题 .

当使用Combobox控件时,出现SelectedValue的值为“System.Data.DataRowView”的原因有两个:在Combobox的DataSource不为空的情况下,要么是没有为ValueMember赋值,要么是赋值赋错了,这两种情况下系统就会把SelectedValue的默认值输出来(注意红色部分,如果DataSource为空,那么SelectedValue的值为null)。

2013-04-09 14:21:32 1308

原创 sql吧 又回来了

企业网站源码下载www.sql8.net 由于我经常改版的原因,导至百度site:sql8.net 不在第一名,直接百度 sql吧 也找不到经过我持坚不懈的努力,终于重见天日

2013-04-08 11:15:30 486

转载 SQLite学习笔记之三

一.如何备份数据库先打开数据库test.dbE:\sqlite\tool\sqlite-3_6_22>sqlite3  D:\Test\debug\test.dbsqlite> .backup D:\\Test\\debug\\test.bak注意:一定要用\\双斜杠 二.如何恢复数据库先打开数据库test.dbE:\sqlite\tool\sqlite-3_6_22>

2013-04-07 10:35:31 968

转载 SQLite学习笔记之二

http://www.cnblogs.com/hicjiajia/archive/2011/01/25/1944581.html一.建立数据库sqlite3.exe test.db 二.双击sqlite-3_6_16目录下的程序sqlite3.exe,即可运行三.退出.exit或者.quit四.SQLite支持如下5种数据类型1.NULL:空值。2.IN

2013-04-07 10:34:26 724

转载 SQLite学习笔记之一

原文链接:http://blog.csdn.net/littletigerat/archive/2010/02/20/5312875.aspx一.            如何获取SQLite最新版本官方站点:http://www.sqlite.org/从http://www.sqlite.org/网站的Download页面获取即如下页面下载http://www.sqlite

2013-04-07 10:30:56 563

转载 C#中treeview绑定

//treeview 1 循环添加父节点public void 父节点名(){DataTable dt = JSXZBLL.CDCategoryManage.GetCatetoryNameForParentNode();foreach (DataRow row in dt.Rows){TreeNode node = CreateNode(Convert.ToInt32(ro

2013-04-02 15:36:41 708

转载 TreeView绑定数据库

TreeView绑定数据库很多应用要用到TreeView来显示组织机构,以下演示TreeView如何与数据库进行绑定。数据库结构如下(递归现实):id(guid)                                                                       pid(guid)

2013-04-02 15:31:53 952

原创 winform 两个listBox左右互移,支持多选或单选移动,移动时源listBox除移已除动的Items

LstCtrlMove_Mgr  移动类 using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.Windows.Forms;namespace MobileAnalysis.function{    ///

2013-04-02 10:58:28 1543

转载 WinForm中ListBox的数据源

我是一向都不喜欢WinForm的ListBox控件,Items中的项没有Tag属性,只好直接使用ListBox的DataSource和DisplayMember属性设定数据源和显示,用起来很不爽。可恶的DataSource不会因为源的改变而重新响应到前台UI,每次不得不通过重新设置DataSource实现刷新UI的效果。下面是一个简单列表框数据源设置示例,直接用csc编译即可。/* Lis

2013-04-01 17:40:52 2505

转载 winform里listbox数据绑定,listbox取值问题

listbox数据绑定[c-sharp] view plaincopyprint?DataSet ds = new DataSet();  ds = SqlHelper.ExecuteDataset(SysHelp.connStr,CommandType.StoredProcedure, "proc_selName");  DataTable dt = ds.Tab

2013-04-01 17:39:17 1245

转载 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题

很少写WinForm程序第一次使用ListBox控件就遇到了比较恶心的问题。因为我不想手动绑定ListBox中的Item就使用了DataSource,但是当我进行一些添加、删除操作时就报了这个错“设置DataSource属性后无法修改项集合”。实在太恶心了,不知道设计ListBox的人是怎么想的给了DataSource属性却不能随便更改,而我要实现在一个ListBox中选中几项然后放到另一个Lis

2013-04-01 17:17:15 2277

转载 两个ListBox中的项互相移动及上下移动

导读]左右移动就是简单的选择项增加删除,上下移动使用了高级语法,值得一学 using System;using System.Collections.Generic;using System.Linq;using System.Text;using WinForm = System.Windows.Form

2013-04-01 17:13:17 978

转载 c#(winform)中自定义ListItem类方便ComboBox和ListBox添加项完全解决(DropDownList 和Combox 数据绑定的常用方法) .

刚开始用.net 的winform开发,发现好些控件都很难用,可能是不熟悉的原因吧,这不,一个给ComboBox添加项的问题就搞的我很头疼,我要同时给一个项添加名字和值,怎么都没法加,查了查资料,又自己汇总测试了下,终于全部搞定了,现把完整的方案写下。        用comboBox的数据绑定的方法很简单,建一个数据源,绑定到ComboBox上,然后指定DisplayMember和 Valu

2013-04-01 17:00:00 1564

转载 asp.net中两个ListBox 左右互相移动,以及上移、下移 .

[csharp] view plaincopyprint?                              "leftListBox" runat="server" Width="200" Height="150" SelectionMode="Multiple">                  "广州" Value="广州">                  "深

2013-04-01 16:59:35 1802

转载 c#编写的MD5加密类

http://www.cnblogs.com/konooo/archive/2009/01/22/1379920.html 1.MD5 16位加密实例using System;using System.Collections.Generic;using System.Text;using System.Security.Cryptography;namespace

2013-04-01 10:10:55 617

jQueryAPI,ajax十分好用

jQuery 核心函数 jQuery(expr, [context]) jQuery(html, [ownerDoc]) jQuery(html, props) jQuery(elements) jQuery() jQuery(callback) jQuery 对象访问 each(callback) size() length selector context get() get(index) index(subject) 数据缓存 data([name] , [value]) data(obj) removeData(name) $.data([el], [key], [val]) 队列控制 queue(name ,[cb|queue]) dequeue(name) clearQueue([queueName]) 插件机制 jQuery.fn.extend(object) jQuery.extend(object) 多库共存 jQuery.noConflict([ex]) 属性 属性 attr(name) attr(properties) attr(key, value) attr(key, fn) removeAttr(name) CSS 类 addClass(class | fn) removeClass([class | fn]) toggleClass(class|fn [, sw]) HTML代码/文本/值 html( [val | fn] ) text( [val | fn] )

2012-05-14

delphi动态虚拟覆盖重载重定义的区别

DELPHI中方法的类型及其覆盖、重载 1、静态方法是方法的缺省类型,对它就像对通常的过程和函数那样调用,编译器知道这些方法的地址,所以调用一个静态方法时它能把运行信息静态地链接进可执行文件,所以,静态方法速度最快,但它们却不能被覆盖来支持多态性。 2、虚拟方法和静态方法的调用方式相同。由于虚拟方法能被覆盖,在代码中调用一个指定的虚拟方法时编译器并不知道它的地址,因此,编译器通过建立虚拟方法表(VMT)来查找在运行时的函数地址。所有的虚拟方法在运行时通过VMT来高度,一个对象的VMT表中除了自己定义的虚拟方法外,还有它的祚的所有的虚拟方法,因此虚拟方法比动态方法用的内存要多,但它执行得比较快。 3、动态方法跟虚拟方法基本相似,只是它们的高度系统不同。编译器为每一个动态方法指定一个独一无二的数字,用这个数字和动态方法的地址构造一个动态方法表(DMT)。不像VMT表,在DMT表中仅有它声明的动态方法,并且这个方法需要祖先的DMT表来访问它蓁的动态方法。正因为这样动态方法比虚拟方法用的内存要少,但执行起来罗慢,因为有可能要到祚对象的DMT中查找动态法。 4、OP通过覆盖使一方法在不同的派生类间表现出不同的行为。OP中能被覆盖的方法是在声明时被标识为virtual或dynamic的方法。为了覆盖一个方法,在派生类的声明中用override代替virtual或dynamic。用了override后,编译器就会用新的方法替换VMT中原先的方法,而原先的方法也还存在,而如果用override再次声明一个静态方法,则是真正的覆盖,是用新的方法完全替换在祖先类中的同明方法。 5、方法重载的意义:比如说,你要写一个求两数商的函数(当然只是个比喻),你希望这个函数可以处理所有的数值类型,但PASCAL的运算对类型实行严格检查,你不得不用不同的程序来运算不同类型的数值,这样你就必须为每一种类型写一个同样功能的函数,并使用不同的函数名,坏处我想你是知道的。而重载却可以解决这个问题,同样的函数名,编译器可以用不同的形参类型决定调用哪个函数。Top dynamic和virtual的不同之处 delphi动态虚拟覆盖重载重定义的区别 (www.ip8000.com www.sql8.net)

2010-11-24

delphi动态虚拟覆盖重载重定义的区别

DELPHI中方法的类型及其覆盖、重载 1、静态方法是方法的缺省类型,对它就像对通常的过程和函数那样调用,编译器知道这些方法的地址,所以调用一个静态方法时它能把运行信息静态地链接进可执行文件,所以,静态方法速度最快,但它们却不能被覆盖来支持多态性。 2、虚拟方法和静态方法的调用方式相同。由于虚拟方法能被覆盖,在代码中调用一个指定的虚拟方法时编译器并不知道它的地址,因此,编译器通过建立虚拟方法表(VMT)来查找在运行时的函数地址。所有的虚拟方法在运行时通过VMT来高度,一个对象的VMT表中除了自己定义的虚拟方法外,还有它的祚的所有的虚拟方法,因此虚拟方法比动态方法用的内存要多,但它执行得比较快。 3、动态方法跟虚拟方法基本相似,只是它们的高度系统不同。编译器为每一个动态方法指定一个独一无二的数字,用这个数字和动态方法的地址构造一个动态方法表(DMT)。不像VMT表,在DMT表中仅有它声明的动态方法,并且这个方法需要祖先的DMT表来访问它蓁的动态方法。正因为这样动态方法比虚拟方法用的内存要少,但执行起来罗慢,因为有可能要到祚对象的DMT中查找动态法。 4、OP通过覆盖使一方法在不同的派生类间表现出不同的行为。OP中能被覆盖的方法是在声明时被标识为virtual或dynamic的方法。为了覆盖一个方法,在派生类的声明中用override代替virtual或dynamic。用了override后,编译器就会用新的方法替换VMT中原先的方法,而原先的方法也还存在,而如果用override再次声明一个静态方法,则是真正的覆盖,是用新的方法完全替换在祖先类中的同明方法。 5、方法重载的意义:比如说,你要写一个求两数商的函数(当然只是个比喻),你希望这个函数可以处理所有的数值类型,但PASCAL的运算对类型实行严格检查,你不得不用不同的程序来运算不同类型的数值,这样你就必须为每一种类型写一个同样功能的函数,并使用不同的函数名,坏处我想你是知道的。而重载却可以解决这个问题,同样的函数名,编译器可以用不同的形参类型决定调用哪个函数。Top www.ip8000.com sql8.net

2010-11-24

高清缩略图代码,可删除原图不会出现在XXX.jpg正在使用中,水印代正在研究中

我在网上用了很多的相关代码或者缩略图水印类,但是都有一个问题就是删除不了原图 public static void myGetThumbnailImage(string SourceFile, string strSavePathFile, int ThumbWidth, int ThumbHeight, string BgColor) { System.Drawing.Image oImg = System.Drawing.Image.FromFile(SourceFile); //小图 int intwidth, intheight; if (oImg.Width > oImg.Height) { if (oImg.Width > ThumbWidth) { intwidth = ThumbWidth; intheight = (oImg.Height * ThumbWidth) / oImg.Width; } else { intwidth = oImg.Width; intheight = oImg.Height; } } else { if (oImg.Height > ThumbHeight) { intwidth = (oImg.Width * ThumbHeight) / oImg.Height; intheight = ThumbHeight; } else { intwidth = oImg.Width; intheight = oImg.Height; } } //构造一个指定宽高的Bitmap Bitmap bitmay = new Bitmap(intwidth, intheight); Graphics g = Graphics.FromImage(bitmay); Color myColor; if (BgColor == null) myColor = Color.FromName("white"); else myColor = Color.FromName(BgColor); //用指定的颜色填充Bitmap g.Clear(myColor); g.InterpolationMode = InterpolationMode.HighQualityBicubic; //开始画图 g.DrawImage(oImg, new Rectangle(0, 0, intwidth, intheight), new Rectangle(0, 0, oImg.Width, oImg.Height), GraphicsUnit.Pixel); bitmay.Save(strSavePathFile, System.Drawing.Imaging.ImageFormat.Jpeg); g.Dispose(); bitmay.Dispose(); oImg.Dispose(); //删除源图 try { File.Delete(SourceFile); } catch { } }

2009-09-29

软件开发文档|需求说明|设计说明|国简标准-软件

软件开发文档|需求说明|设计说明|国简标准-软件

2009-03-12

经典cookie购物车源码[GridView实现]

特别说明请注意: 根许多网友反应, using Maticsoft.Functions; 这些代码看不懂 其实Functions 这个dll是我定义常用的函数类,如果需要跟我联系索取http://sql8.net 下面有我的群号, 其中 ArtsShop.Model.Arts_Product _p = new ArtsShop.Model.Arts_Product(); ArtsShop.BLL.Arts_Product p = new ArtsShop.BLL.Arts_Product(); _p = p.GetModel(id); 这是我的商品信息的类,三层结构,这个在用时你们只能换成你们自己的,这些代码完全可以删除, 比如 MyDr[1] = _p.Title; 用来读取商品名的,你们可以改MyDr[1] = dr["productname"].ToString();就行了, AddToCart.aspx页面代码 无标题页 <asp:TextBox ID="TextBox1" runat="server" Text='' Width="44px"> <asp:Label ID="Label1" runat="server" Text=''> 保存 取消 编辑 继续购物 清空购物车 下订单 AddToCart.aspx.cs页面代码 using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Maticsoft.Functions;public partial class AddToCart : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { int ProID; HttpCookie cookie; bool Tempbl = false; string Tempstr; if (!Page.IsPostBack) { if (!object.Equals(Request.QueryString["id"], null)) { ProID = int.Parse(Request.QueryString["id"]); //创购物车cookie yxy .//sql8.net if (object.Equals(Request.Cookies["ztbscart"], null)) cookie = new HttpCookie("ztbscart"); else cookie = Request.Cookies["ztbscart"]; //判断是否已存在于购物车内 yxy // sql8.net for (int i = 0; i < cookie.Values.Keys.Count; i++) { if (!object.Equals(cookie.Values.Keys[i], null)) { Tempstr = cookie.Values.AllKeys[i].ToString(); if (Tempstr.Trim() != "") { if (ProID == int.Parse(cookie.Values.AllKeys[i])) { Tempbl = true; break; } } } } //不未购买过则加入购物车 yxy //sql8.net if (!Tempbl) cookie.Values.Add(ProID.ToString(), "1"); else { } TimeSpan ts = new TimeSpan(0, 0, 10, 0); cookie.Expires = DateTime.Now + ts; Response.AppendCookie(cookie); } BindGrid(); } } //绑定数据 yxy //sql8.net private void BindGrid() { DataTable MyDt; DataRow MyDr; string str = ""; MyDt = new DataTable(); MyDt.Columns.Add(new DataColumn("id", str.GetType())); MyDt.Columns.Add(new DataColumn("Title", str.GetType())); MyDt.Columns.Add(new DataColumn("Num", str.GetType())); MyDt.Columns.Add(new DataColumn("Price", str.GetType())); MyDt.Columns.Add(new DataColumn("Discount", str.GetType())); MyDt.Columns.Add(new DataColumn("Vipprice", str.GetType())); MyDt.Columns.Add(new DataColumn("Totle", str.GetType())); if (!object.Equals(Request.Cookies["ztbscart"], null)) { HttpCookie cookie = Request.Cookies["ztbscart"]; double Totle; //Response.Write("|" + Request.Cookies["ztbscart"].Values.Keys[1].ToString() + "|"); //Response.End(); for (int i = 0; i < cookie.Values.Keys.Count; i++) { int id; MyDr = MyDt.NewRow(); if (cookie.Values.AllKeys[i] != "" && cookie.Values[i] != "") { id = int.Parse(cookie.Values.AllKeys[i].ToString()); ArtsShop.Model.Arts_Product _p = new ArtsShop.Model.Arts_Product(); ArtsShop.BLL.Arts_Product p = new ArtsShop.BLL.Arts_Product(); _p = p.GetModel(id); MyDr[0] = id; MyDr[1] = _p.Title; MyDr[2] = cookie.Values[i]; MyDr[3] = _p.Price; MyDr[4] = _p.Discount; MyDr[5] = _p.Vipprice1; Totle = double.Parse(MyDr[2].ToString()) * double.Parse(MyDr[5].ToString()); MyDr[6] = Totle; MyDt.Rows.Add(MyDr); } } GridView1.DataSource = MyDt.DefaultView; GridView1.DataBind(); } } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { //编辑某行数量 yxy //sql8.net GridView1.EditIndex = e.NewEditIndex; BindGrid(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { //取消更新 yxy //sql8.net GridView1.EditIndex = -1; BindGrid(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { //更新数量 yxy //sql8.net string num; TextBox tempbx = new TextBox(); Label templb = new Label(); tempbx = (TextBox)(GridView1.Rows[e.RowIndex].Cells[6]).Controls[1]; num = tempbx.Text.ToString(); HttpCookie cookie = new HttpCookie("ztbscart"); for (int i = 0; i < GridView1.Rows.Count; i++) { string id; string tempnum; id = GridView1.Rows[i].Cells[1].Text.ToString(); if (e.RowIndex == i) tempnum = num; else { templb = (Label)(GridView1.Rows[i].Cells[6]).Controls[1]; tempnum = templb.Text.ToString(); } if (tempnum.Trim() == "") tempnum = "0"; //Response.Write("ID:"+id.ToString() + "Num:"+tempnum+":"+i+"");//测试用途 yxy//sql8.net cookie.Values.Add(id, tempnum); } //Response.End(); TimeSpan ts = new TimeSpan(0, 0, 10, 0); cookie.Expires = DateTime.Now + ts; Response.AppendCookie(cookie); GridView1.EditIndex = -1; Message.GoTo("AddToCart.aspx"); } protected void LinkButton4_Click(object sender, EventArgs e) { //继续购物 yxy //sql8.net Message.WebClose(); } protected void LinkButton3_Click(object sender, EventArgs e) { //清空购物车 yxy //sql8.net CheckBox tempcb = new CheckBox(); HttpCookie cookie = new HttpCookie("ztbscart"); Label templb = new Label(); for (int i = 0; i < GridView1.Rows.Count; i++) { tempcb = (CheckBox)(GridView1.Rows[i].Cells[0]).Controls[1]; if (!tempcb.Checked) { string id; string tempnum; id = GridView1.Rows[i].Cells[1].Text.ToString(); templb = (Label)(GridView1.Rows[i].Cells[6]).Controls[1]; tempnum = templb.Text.ToString(); if (tempnum.Trim() == "") tempnum = "0"; //Response.Write("ID:"+id.ToString() + "Num:"+tempnum+":"+i+"");//测试用途 yxy//sql8.net cookie.Values.Add(id, tempnum); } } TimeSpan ts = new TimeSpan(0, 0, 10, 0); cookie.Expires = DateTime.Now + ts; Response.AppendCookie(cookie); Message.GoTo("AddToCart.aspx"); } protected void CheckAll_CheckedChanged(object sender, EventArgs e) { //全选事件 yxy //sql8.net CheckBox tempcb = new CheckBox(); bool tempbl; tempcb = (CheckBox)(GridView1.HeaderRow.Cells[0]).Controls[1]; tempbl = tempcb.Checked; for (int i = 0; i < GridView1.Rows.Count; i++) { tempcb = (CheckBox)(GridView1.Rows[i].Cells[0]).Controls[1]; tempcb.Checked = tempbl; } } } _________________________________________________________________________ 如转载请注明原出处 www.sql8.net

2008-09-11

图书店源码asp数据sql

书库源码asp数据sql如果有问题请上www.sql8.net交流

2008-09-09

图书店系统.net2003 sql2000

很好用的,购物车不错,如果问题可到www.sql8.net交流

2008-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除