當資料來源為空白時,gridview只顯示表頭

來源:互聯網
上載者:User

今天在做網頁時,發現gridview中的資料來源為空白時,它不顯示,於是就想,能不能讓它在沒有資料來源的時候也顯示呢?

於是就在網上找資料,找到了很多,但大部分的都寫得比較複雜,經過我不懈的努力,終於找到了幾條看似比較簡單的代碼,經過我的修改和驗證,效果出來了,現在把這些代碼總結一下,一是留給自己的,二是方便其它人。

方法一:通過在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的樣式一樣,讓外人看不出破綻。呵呵!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.