注册 登录
编程论坛 ASP.NET技术论坛

在.net中可以让数据库中的信息直接在表个中显示吗?

雪夜白狼 发布于 2008-04-02 20:40, 3376 次点击
是这样的
我想不用控件让数据库中的信息直接在表格中显示!!
在.net 中可以吗?
如果可以可以给个示例例代码吗?
.net 学习中。。。。。
7 回复
#2
sldtk12008-04-02 21:00
用VB是可以实现的,C#没用过
#3
hebingbing2008-04-02 21:05
没有想过……
不过我想应该是可以的。用DataReader读出数据然后在加以循环给表格赋值……
我只是想,自己从来没有试过,也没有想过……
其实楼主控件就是.net最精彩的地方之一,你为什么不用了,那样不就失去了学.net的意义了吗?
有什么理由让你要弃它不用呢?
#4
残影留香2008-04-03 10:02
用Repeater吧
#5
srym2008-04-03 10:58
个人建议  如果需要考虑性能,哪么显示用repeater最好,如果不考虑性能,哪么用 gridview最方便。
但是lz非不用控件要显示数据的话,也是可以的,在后台读取了数据以后,动态生成一个表格,把表格添加到页面上就可以了!
代码如下:
string StrConn = @"User Id=sa;Password=perishryu;Initial Catalog=pubs;Data Source=oathryu\sql2005";
    SqlDataAdapter da;
    DataSet ds;
    Table tb;
    TableHeaderRow thr;
    TableHeaderCell th;
    TableRow tr;
    TableCell td;
    public override void DataBind()
    {
        ds = new DataSet();
        da = new SqlDataAdapter("select * from jobs",StrConn);
        da.Fill(ds);

         tb= new Table();
         thr = new TableHeaderRow();
         tb.Rows.Add(thr);
        //添加表头
         for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
         {
             th = new TableHeaderCell();
             th.Text = ds.Tables[0].Columns[i].Caption;
             thr.Cells.Add(th);
         }
         thr.Attributes.Add("style", "background-Color:#aaddff");
        //添加数据
         for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
         {
             tr = new TableRow();
             tr.Attributes.Add("style", "background-Color:#aaddff");
             tr.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#369';this.style.color='#fff';");
             tr.Attributes.Add("onmouseout", "this.style.backgroundColor=c;this.style.color='#000';");
             for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
             {
                 td = new TableCell();
                 td.Attributes.Add("onmouseover", "this.style.cursor='hand';");
                 td.Text = ds.Tables[0].Rows[i][j].ToString();
                 tr.Cells.Add(td);
             }
             tb.Rows.Add(tr);
         }

        //设定样式
         tb.BorderColor = System.Drawing.Color.Red;
         tb.BorderStyle = BorderStyle.Dotted;
         tb.BorderWidth = 1;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataBind();
            this.Controls.Add(tb);
        }
    }
#6
淡漠的茶2008-04-03 12:20
一种方法是楼上所说用
读取为DataTable ,遍历,然后输出
不过数据控件本来做的就是这个事情,意义不大

一种方法是读取为xml,用XSL格式,还可以变通下,使用ajax

我认为最好的替代方法是做一个List<>类,然后格式化为Json结构(需要一个转化的类),然后使用AJAX获取数据,接着采用JsonT 或直接 Javascript在客户端格式化数据,好处就是Json结构较XML简单,较文本格式容易查找,也容易读出来后放入缓存,坏处是一旦AJAX了对搜索引擎的支持就减弱了
#7
淡漠的茶2008-04-03 12:24
3楼的话不认同
控件不是的本质,不要将微软简单局部版MVC框架当做万能而滥用
#8
雪夜白狼2008-04-03 19:01
谢谢各位朋友的热情回复!!
我是一个.net的新手很多地方不懂
所以有时候问的很傻
想到了自己弄不明白就拿出来了大家一起讨论一下
大家一起学习!!!
希望我们的论坛越来越好!!!
1