解析DataList如何实现“行转列”代码_.Net教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:解析VS.net调试ASP.NET项目出错原因及解决方法调试系统时出现“VS.net调试ASP.NET运行项目出错:无法调试应用程序”错误,不能调试。下面是解决方法: 调试ASP.NET项目 检查项目是否有有效的Web.config文件,Web.config文件是否将“debug”设置为“true”,以及debug谓词是否与.aspx关联。有关更多信息,
开发中经常遇到行转列的情况,一般都是在SQL中用 case 来解决这类问题,但有时候我们会需要知道列数并做一些事情。这时,DataList 就发挥它的作用了。主要应用的就是它的RepeatDirection 属性.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataList.aspx.cs" Inherits="temp_DataList" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> 名称:<asp:TextBox ID=’txtName’ runat="server"></asp:TextBox> 金额:<asp:TextBox ID=’txtMoney’ runat="server"></asp:TextBox> <asp:Button ID="btnAdd" runat="server" Text="增加" OnClick="btnAdd_Click" /> <asp:DataList id=’dl’ runat="server"> <AlternatingItemTemplate> <asp:Literal ID="lit" runat="server" Text=’<%#Eval("Name") %>’></asp:Literal> <asp:TextBox ID="txt" runat="server" Text=’<%#Eval("Money") %>’></asp:TextBox> </AlternatingItemTemplate> <ItemTemplate> <asp:Literal ID="lit" runat="server" Text=’<%#Eval("Name") %>’></asp:Literal> <asp:TextBox ID="txt" runat="server" Text=’<%#Eval("Money") %>’></asp:TextBox> </ItemTemplate> </asp:DataList> </form> </body> </html> |
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; public partial class temp_DataList : System.Web.UI.Page { private DataTable getDateTable() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Name", typeof(String))); dt.Columns.Add(new DataColumn("Money", typeof(Int32))); DataRow dr; dr = dt.NewRow(); dr[0] = "岗位工资"; dr[1] = 100; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "养老"; dr[1] = 200; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "午餐"; dr[1] = 300; dt.Rows.Add(dr); return dt; } private void DataListBind(DataTable dt) { int column = dt != null ? dt.Rows.Count : 0; column = column > 6 ? 6 : column;//样式的原因,控制最多6个 dl.RepeatColumns = column; dl.RepeatDirection = RepeatDirection.Horizontal; dl.DataSource = dt; dl.DataBind(); } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["dt"] = getDateTable(); DataListBind(ViewState["dt"] as DataTable); } } protected void btnAdd_Click(object sender, EventArgs e) { DataTable dt = ViewState["dt"] as DataTable; if (dt != null) { DataRow dr; dr = dt.NewRow(); dr[0] = txtName.Text.Trim(); int money; int.TryParse(txtMoney.Text, out money); dr[1] = money; dt.Rows.Add(dr); DataListBind(dt); } } } |
分享:解析运行asp.net服务器权限设置的6个问题文章中所指服务器环境为WIN2003。 大家知道ASP.NET和ASP相比,在设置权限方面很有不同,一点儿设置错了都运行不了。作者在遇到该问题并解决后得到的经验,给大家分享。 ASP.NET需要用到USERS组的权限,因为遇过很多次自己设置了权限之后发现 网站 运行不了,
相关.Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-解析DataList如何实现“行转列”代码。