• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> .NET 开发 >> 详细内容
 

推荐文章

 
 

热点文章

  • FckEditor远程图片下载插件
  • IIS过滤器实现.NET程序不破解DLL替换字符串一法
  • 为ASP.NET封装的SQL数据库访问类
  • Url地址重写,利用HttpHander手工编译页面并按需生成静..
  • ASP.NET2.0中文验证码的实现
  • asp.net生成缩略图及给原始图加水印
  • ASP.NET学习笔记一——ASP和ASP.NET比较
  • ASP.NET学习笔记二——简单Web控件使用
  • Ajax简单客户登陆验证
  • 获取指定IP的终端的MAC地址
  • 使用HtmlInputHidden 控件在本页面保持状态和跨页面传..
  • DoNet控件嵌套
 
 

相关文章

  • ASP.Net发邮件
  • ASP.Net状态管理
  • ASP.NET学习笔记二——简单Web控件使用
  • ASP.NET学习笔记一——ASP和ASP.NET比较
  • ASP.NET中利用VWD操作数据库
 
 

百度搜索

 
 

asp.net datagrid实现多层表头

  • 阅览次数:
  • 文章来源: CodePub整理
  • 原文作者:
  • 整理日期: 2008-04-22
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Xml;
using System.Text;

namespace WinnerOA.newrpt
{
///


/// dayenter 的摘要说明。
///

public class dayenter : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Calendar Calendar1;
protected System.Web.UI.WebControls.Button updateButton;
protected System.Web.UI.WebControls.DataGrid dataTable;
protected System.Web.UI.WebControls.Button addLineButton;

private void Page_Load(object sender, System.EventArgs e)
{
if(this.InitReadDataPopedom())
{
if(!this.IsPostBack)
{
this.Calendar1.SelectedDate=DateTime.Today;


}
this.InitData();
}
else
{
this.Response.Clear();
this.Response.Write("您没有权限!");
this.Response.End();
return;
}
if(this.InitWriteDataPopedom())
{

this.addLineButton.Visible=true;
this.updateButton.Visible=true;
}
else
{
this.addLineButton.Visible=false;
this.updateButton.Visible=false;
}

}

private bool InitWriteDataPopedom()
{
ArrayList depts=new ArrayList();
XmlDocument xmldocument=new XmlDocument();
XmlNodeReader xmlreader=null;
try
{

xmldocument.Load(Server.MapPath("..").ToString()+@"\popedom.xml");
xmlreader=new XmlNodeReader(xmldocument.ChildNodes[1].ChildNodes[11]);
while(xmlreader.Read())
{
if(xmlreader.NodeType.Equals(XmlNodeType.Element))
{
if(xmlreader.Name.ToString().Equals("write"))
{
while(xmlreader.Read())
{
if(!xmlreader.Name.Equals("user"))
{
break;
}
else
{
depts.Add (xmlreader.ReadString());
}
}
}

}
}
}
catch(Exception err)
{
Response.Write(err.ToString());
}
finally
{
xmlreader.Close();
}
string deptname=Request.Cookies["oabusyusername"].Value.ToString();
Encoding e=Encoding.GetEncoding("gb2312");
deptname=HttpUtility.UrlDecode(deptname,e);
if(depts.Contains(deptname))
{
return true;
}
else
{
return false;
}
}
private bool InitReadDataPopedom()
{
ArrayList depts=new ArrayList();
XmlDocument xmldocument=new XmlDocument();
XmlNodeReader xmlreader=null;
try
{

xmldocument.Load(Server.MapPath("..").ToString()+@"\popedom.xml");
xmlreader=new XmlNodeReader(xmldocument.ChildNodes[1].ChildNodes[11]);
while(xmlreader.Read())
{
if(xmlreader.NodeType.Equals(XmlNodeType.Element))
{
if(xmlreader.Name.ToString().Equals("read"))
{
while(xmlreader.Read())
{
if(!xmlreader.Name.Equals("user"))
{
break;
}
else
{
depts.Add (xmlreader.ReadString());
}
}
}

}
}
}
catch(Exception err)
{
Response.Write(err.ToString());
}
finally
{
xmlreader.Close();
}
string deptname=Request.Cookies["oabusyusername"].Value.ToString();
Encoding e=Encoding.GetEncoding("gb2312");
deptname=HttpUtility.UrlDecode(deptname,e);
if(depts.Contains(deptname))
{
return true;
}
else
{
return false;
}
}

private void InitData()
{
if(Session["dataset"]==null)
{
string sqlcmd="SELECT id , lanewayName AS 巷道名称, constructunit AS 施工单位,designlength AS 设计长度, designdm AS 设计断面, mplane AS 本月计划, dplaneenter AS 本日,dfactenter AS 本日1, mtotal AS 本月累计, lithology AS 岩性, angle AS 角度, mplaneenter AS 本月1, mfactenter AS 本月2, hair AS 成巷1, moulding AS 成巷2, memo AS 备注 FROM dayenter where [date]='"+this.Calendar1.SelectedDate.ToShortDateString()+"'";
string connstring="workstation id=SERVER;packet size=4096;user id=sa;data source='.';persist security info=True;initial catalog=winneroa;password=pxh2003";
SqlConnection conn=new SqlConnection(connstring);
try
{
conn.Open();
}
catch(Exception err)
{
Response.Write(err.ToString());
return;
}
SqlDataAdapter sda=new SqlDataAdapter(sqlcmd,conn);
DataSet ds=new DataSet();

try
{
sda.Fill(ds);

this.dataTable.DataSource=ds.Tables[0].DefaultView;

this.dataTable.DataBind();
this.Session["dataset"]=ds;
}
catch(Exception err)
{
Response.Write(err.ToString());

}
finally
{

conn.Close();
}
}
else
{
DataSet ds=(DataSet)(Session["dataset"]);

//DataRow newrow=ds.Tables[0].NewRow();
//ds.Tables[0].Rows.Add(newrow);
this.dataTable.DataSource=ds;
this.dataTable.DataBind();
Session["dataset"]=ds;
}


}
private void AddLine()
{
if(Session["dataset"]!=null)
{
DataSet ds=(DataSet)(Session["dataset"]);

DataRow newrow=ds.Tables[0].NewRow();
ds.Tables[0].Rows.Add(newrow);
this.dataTable.DataSource=ds;
this.dataTable.DataBind();
Session["dataset"]=ds;
}
}

private void delData()
{
string sqlcmd="delete from dayenter where [date]='"+this.Calendar1.SelectedDate.ToShortDateString()+"'";
string connstring="workstation id=SERVER;packet size=4096;user id=sa;data source='.';persist security info=True;initial catalog=winneroa;password=pxh2003";
SqlConnection conn=new SqlConnection(connstring);
try
{
conn.Open();
}
catch(Exception err)
{
Response.Write(err.ToString());
return;
}
SqlCommand cmd=new SqlCommand(sqlcmd,conn);
try
{
cmd.ExecuteNonQuery();
}
catch(Exception err)
{
Response.Write(err.ToString());
}
finally
{
conn.Close();
}
}

private void SaveData()
{
this.delData();
string connstring="workstation id=SERVER;packet size=4096;user id=sa;data source='.';persist security info=True;initial catalog=winneroa;password=pxh2003";
SqlConnection conn=new SqlConnection(connstring);
foreach(DataGridItem e in this.dataTable.Items)
{
if(e.ItemType!=ListItemType.Header && e.ItemType!=ListItemType.Footer)
{
string sqlcmd="insert into dayenter(lanewayName,constructunit,designlength,designdm,mplane,dplaneenter,dfactenter,mtotal,lithology,angle,mplaneenter,mfactenter,hair,moulding,memo,[date]) values(";


for(int j=2;j
{
sqlcmd+="'"+((TextBox)e.Cells[j].Controls[0]).Text +"',";

}
sqlcmd+="'"+this.Calendar1.SelectedDate.ToShortDateString()+"')";
try
{
conn.Open();
}
catch(Exception err)
{
Response.Write(err.ToString());
return;
}
SqlCommand cmd=new SqlCommand(sqlcmd,conn);
try
{
cmd.ExecuteNonQuery();

}
catch(Exception err)
{
Response.Write(err.ToString()+sqlcmd);
}
finally
{
conn.Close();
}
}
}
this.Session["dataset"]=null;
this.InitData();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///


/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///

private void InitializeComponent()
{
this.addLineButton.Click += new System.EventHandler(this.addLineButton_Click);
this.updateButton.Click += new System.EventHandler(this.updateButton_Click);
this.Calendar1.SelectionChanged += new System.EventHandler(this.Calendar1_SelectionChanged);
this.dataTable.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dataTable_ItemCreated);
this.dataTable.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dataTable_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void addLineButton_Click(object sender, System.EventArgs e)
{
this.SaveData();
this.AddLine();

}

private void updateButton_Click(object sender, System.EventArgs e)
{
this.SaveData();
}

private void dataTable_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{


e.Item.Cells[1].Visible=false;
if(e.Item.ItemType!=ListItemType.Header && e.Item.ItemType!=ListItemType.Footer)
{
Button delbutton=new Button();
delbutton.Text="删除";
delbutton.ID=e.Item.Cells[1].Text+"d";
delbutton.Click+=new EventHandler(delbutton_Click);
e.Item.Cells[0].Controls.Add(delbutton);
for(int i=2;i

private void dataTable_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{

if (e.Item.ItemType == ListItemType.Header)
{

e.Item.Visible=false;
Table tb = (Table)dataTable.Controls[0];
DataGridItem dgi1=new DataGridItem(0,0,ListItemType.Header);
DataGridItem dgi2 = new DataGridItem(0,0,ListItemType.Header);
TableCell[] cell1=new TableCell[14];
for(int i=0;i

tb.Rows.AddAt(0,dgi1);
tb.Rows.AddAt(1,dgi2);
}
e.Item.Cells[1].Visible=false;
}

private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
{
this.Session["dataset"]=null;
this.InitData();
}

private void delbutton_Click(object sender, EventArgs e)
{
Button tmpbutton=(Button)sender;
string id=tmpbutton.ID;
id=id.Remove(id.Length-1,1);
string sqlcmd="delete from dayenter where id="+id;
string connstring="workstation id=SERVER;packet size=4096;user id=sa;data source='.';persist security info=True;initial catalog=winneroa;password=pxh2003";
SqlConnection conn=new SqlConnection(connstring);
try
{
conn.Open();
}
catch(Exception err)
{
Response.Write(err.ToString());
}
SqlCommand cmd=new SqlCommand(sqlcmd,conn);
try
{
cmd.ExecuteNonQuery();
this.Session["dataset"]=null;
this.InitData();
}
catch(Exception err)
{
Response.Write(err.ToString()+sqlcmd);
}
finally
{
conn.Close();
}
}
}
}


上一篇:比AcdSee功能还强大的图片处理、编辑软件,推荐下载!
下一篇:ASP上传漏洞防范
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号