解析DataList如何实现“行转列”代码_.Net教程

编辑Tag赚U币
教程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教程/更新时间:2010-04-18
相关.Net教程