11.10学习随记

来源:互联网 发布:淘宝闲鱼珠宝拍卖真假 编辑:程序博客网 时间:2024/06/05 10:06

今天复习了以前做过的购物车,动态生成表格。自己就再来练习一下吧

在页面中添加三个按钮    分别用不同的方式来添加表格

BUTTON1 按钮,完成了添加HTML表格的操作

 protected void Button1_Click(object sender, EventArgs e)
    {
        HtmlTable table = new HtmlTable();  //表格创建完成
        for (int i = 0; i < 5; i++)  //控制行
        {
            HtmlTableRow row = new HtmlTableRow();
            for (int j = 0; j < 5; j++)  //控制单元格
            {
                HtmlTableCell cell = new HtmlTableCell();

                HtmlTable t1 = new HtmlTable();
                HtmlTableRow r = new HtmlTableRow();
                HtmlTableCell c = new HtmlTableCell();
                c.InnerText = "aaaaaaaaaaaaa";
                r.Cells.Add(c);
                t1.Rows.Add(r);
                cell.Controls.Add(t1);

                //cell.InnerHtml = string.Format("i:{0};j:{1}", i, j);
                row.Cells.Add(cell);
            }
            table.Rows.Add(row);
        }
        this.Controls.Add(table);
    }

BUTTON2完成了添加WEB服务器控件的表格
    protected void Button2_Click(object sender, EventArgs e)
    {
        Table t = new Table();
        for (int i = 0; i < 3; i++)
        {
            TableRow row = new TableRow();
            for (int j = 0; j < 2; j++)
            {
                TableCell cell = new TableCell();
                Button btn = new Button();
                btn.Text = i.ToString() + j.ToString();
                cell.Controls.Add(btn);
                row.Cells.Add(cell);
            }
            t.Rows.Add(row);
        }
        this.Panel1.Controls.Add(t);

    }

BUTTON3按钮,完成了添加DataTable表格的操作
    protected void Button3_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        DataColumn dc = new DataColumn();
        dc.ColumnName = "id";
        dc.DataType = typeof(int);  //Type.GetType("System.Int32");
        dc.AllowDBNull = false;
        dc.AutoIncrement = true;
        dc.AutoIncrementSeed = 1;
        dc.AutoIncrementStep = 1;
        dt.Columns.Add(dc);
        dc = new DataColumn();
        dc.ColumnName = "name";
        dc.DataType = typeof(string);
        dc.AllowDBNull = false;
        dt.Columns.Add(dc);
        DataRow row = dt.NewRow();
        row["name"] = "zhangsan";
        dt.Rows.Add(row);
        this.DropDownList1.DataSource = dt;
        this.DropDownList1.DataTextField = "name";
        this.DropDownList1.DataValueField = "id";
        this.DropDownList1.DataBind();
    }

这其中,使用添加DataTable表格是自己掌握的比较不好的一个需要多加练习。

除此之外,还了解了一些实现转换的东西,把阿拉伯数字的金额转换为全中文的金额显示

即“2142”元转换为“贰仟壹佰肆拾贰圆”

实现这个功能我们需要引进一个类然后在程序中调用这个类即可:

把MoneyTools作为这个类的类名

    public class MoneyTools{
        public static string ToChineseNumber<T>(T num){
            string[] chinesePos = new string[] { "圆", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿" };
            string[] chinese = new string[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
            string strNum = num.ToString();   //要转换数字的字符串形式         
            string oneNum = "";   //用来存储一个数字
            StringBuilder sb = new StringBuilder();  //用来存储转换之后的结果       
            int dotPos = strNum.IndexOf(".");
            string integer = "";  //整数部分
            if (dotPos != -1)
                integer = strNum.Substring(0, dotPos);
            else
                integer = strNum;
            //下面就可以使用integer保存的整数部分
            while (integer.Length > 0){  //转换整数部分
                int len = integer.Length;  //数字长度
                oneNum = integer.Substring(0, 1); //取高位数字
                integer = integer.Substring(1);   //取出剩余数字,删掉高位数字
                sb.Append(chinese[int.Parse(oneNum)]);//添加高位数字对应的大写
                sb.Append(chinesePos[len - 1]);  //添加数字对应的位权
            }
            //循环完成之后,整数部分转换完成
            if (dotPos != -1){  //转换小数部分
                string little = strNum.Substring(dotPos + 1);
                if (little.Length > 1){
                    sb.Append(chinese[int.Parse(little.Substring(0, 1))]).Append("角");  //数字
                    sb.Append(chinese[int.Parse(little.Substring(1, 1))]).Append("分");  //数字
                }
            }
            return sb.ToString();
        }
    }

这样 这个类就完成了

下面在你的界面中添加一个按钮,我这用的是WinForm来做的  所以添加了一个Button控件,在这个控件的单击事件中写入

this.textBox2.Text = MoneyTools.ToChineseNumber<string>(this.lable1.Text);      //textBox2是为用户提供输入数字的文本框,lable1是显示转换后的结果的控件。

在这个转换中并没有处理出现2002这类数字的情况,所以这样的情况下会转换成为“贰仟零佰零拾贰圆”

原创粉丝点击