zoukankan      html  css  js  c++  java
  • 关于GridView的问题~

    (1)当数据源为空时,GridView是没有显示出来的,但如果这时我们要把它显示出来时(如现在我的最后一行是要新增加行的,但如果数据源为空时,我们并没有显示出来表,我们就没有办法来新增了),可以先把它增加一个空行~

    方法来自:http://hi.baidu.com/vb98/blog/item/68f9cf7b74c807e50bd1875b.html

    方法一:通过在CS中写代码来实现

    sda.Fill(ds, "titles"); //这里的titles是指表名


    DataTable dt = new DataTable();
    dt.Columns.Add("title");
    dt.Columns.Add("type");
    dt.Columns.Add("pub_id");
    dt.Columns.Add("price");//title,type,pub_id,price都是列名

    if (dt.Rows.Count == 0) //判断表中的行数,如果为0,表示没有找到,即数据源为空
    {
    dt.Rows.Add(dt.NewRow());//添加一条新的空白行
    }

    GridView1.DataSource = dt;
    GridView1.DataBind();

    int columncount = dt.Columns.Count; //有多少列
    GridView1.Rows[0].Cells.Clear(); //给第一行的每列清零
    GridView1.Rows[0].Cells.Add(new TableCell());
    GridView1.Rows[0].Cells[0].ColumnSpan = columncount;//跨列数
    GridView1.Rows[0].Cells[0].Text = "No Record Found!";
    GridView1.Rows[0].Cells[0].Style.Add("text-align", "center");

    方法二:在源中表示

    方法很简单:就是先运行有数据的gridview,然后查看编译的页面的“查看源文件” 把里面生成的table的样式抠出来,放到 <EmptyDataTemplate> </EmptyDataTemplate>。

    这样还没完,还有二步:第一步:在<table></table>中,保留第一二行,其它的行都删除。第一行的内容不变,第二行合并成一个单元格,并在此单元格里写上“没有找到记录”这样的信息。位置随你,本人喜欢让其居中

    第二步:回到CS文件,把原来能查到数据的sql语句改一下,改成不能查找数据的sql语句。

    方法三:如果不用EmptyDataTemplate模板,可以设置GridView 的EmptyDataText属性,这样只显示一句话和一个边框

    本人觉得不是很好看。虽然简单,不太喜欢!

    此时,大功告成!

    附:第二种方法其实是以表格的方式显示没有数据源时的信息,从表面上看去像显示了gridview的信息,其实不是。这就要求大家将表格的样式最好设置得和gridview的样式一样,让外人看不出破绽。呵呵!

    别让别人来告诉你,你成不了才,如果你有梦想的话,就要去捍卫它---当幸福来敲门
  • 相关阅读:
    python爬虫 js逆向之取巧秒解webpack打包的加密参数
    程序员半夜泡奶粉,睡不着了
    擴展Membership建立中小型WEB權限框架(一)
    Gridview小技巧保存選擇狀態
    sql server 2005行列轉換
    一个简单的WEB流程图组件[demo]
    web效率14條規則(轉)
    常用javascript 表達式驗證[綜合轉載]
    SOA、反射+緩存
    数据表的设计原则(轉載)
  • 原文地址:https://www.cnblogs.com/yihua/p/2484911.html
Copyright © 2011-2022 走看看