當資料來源為空時,gridview只顯示錶頭
今天在做網頁時,發現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的樣式一樣,讓外人看不出破綻。呵呵!
相關推薦
當資料來源為空時,gridview只顯示錶頭
今天在做網頁時,發現gridview中的資料來源為空時,它不顯示,於是就想,能不能讓它在沒有資料來源的時候也顯示呢? 於是就在網上找資料,找到了很多,但大部分的都寫得比較複雜,經過我不懈的努力,終於找到了幾條看似比較簡單的程式碼,經過我的修改和驗證,效果出來了,現在把這些程式
當對象或對象屬性為空時,如何安全給對象或對象屬性添加默認值
方案 string sign isp ignorecas 兩種 對象 習慣 比較 今天遇到的問題,也是寫代碼的習慣問題,邏輯沒有問題,但不規範,也不安全, 容易出現漏洞。 先將代碼貼出: String isPrintLogo = vodInfoDto.getIsPrint
spring boot加mybatis使用Map返回時,當值為空時屬性也會沒有(轉)
call pri per n-n spring fig setter 解決 strong 使用spring boot加mybatis時,設置Map返回,當值為空時屬性也會沒有,就會報錯 在application.properties中加入下面配置,將會解決這個問題。
Android 當兩個文字框同時不為空時,按鈕可用
啥也不薛,先看效果圖 主要就是去設定文字框的監聽事件,由於有兩個文字框,所以直接呼叫兩次就行,之前去巢狀著呼叫,既麻煩,還容易出錯,我最終也沒通過巢狀搞出來,唉,然後就百度到了另一種方法,在這裡記下來,算是學習之路的一個交代。 下面直接貼程式碼: //對文字框的監聽事件
關於hql中部分關聯欄位為空時,不報錯而直接查不出欄位為空的記錄
select b.listNo,b.appGNo,b.trGno,b.complex,b.commName,b.commSpec,b.tradeUnit,b.tradeQty,b.unit,b.qty,b.note, c.listNo,c
jqGrid表格載入返回資料為空時,alert一句提示
loadComplete: function () { var re_records = $("#table2").jqGrid('getGridParam', 'records'); //獲取資料總條數
報表本年對應的上一年資料為空時,將空轉換為0
update session.results set tq_qty= case when tq_qty=0 or tq_qty is null then 0 else tq_qty end,  
用mybatis更新資料,當資料為0時,無法更新
在bean中,count是long型別: private Long count; 需求就是利用下面的更新語句更新bills表中的count和amout <update id="updateBills" parameterType="map" >
Java過載函式,當引數為null時,呼叫的處理
精確性原則 關於以下程式的輸出結果: public class TestNull { public void show(String a){ System.out.println("String"); } public void show(Object o)
C語言之定義一個函式,實現對字串做如下操作:當字元為字母時,大小寫互換,當字元為數字時,原樣輸出,當有其它字元出現時,結束操作,返回已處理的字串
Action(){ char str[]={"tEst234%^road"};int len = sizeof(str)/sizeof(char);//strTest2呼叫函式lr_output_message("%s",strTest2(str,len)); r
當物件為空時get取值造成的錯誤
System.out.println("查詢到的學號和密碼:"+student.getStudent_id()+"和"+student.getPassword());當student物件為空時取值會造成錯誤
關於輸入多組測試資料,當資料為0時,輸入結束
1.while(scanf("%d",&n)!=EOF) EOF在stdio.h中巨集定義為-1; 即有輸入時,迴圈繼續,其實,如無別的條件,一直會“輸入——處理”,“輸入——處理”的迴圈從而
mysql密碼為空時,c#如何執行一條cmd命令匯入sql檔案到資料庫並獲得mysql的輸出
mysql匯入sql檔案的cmd命令為: mysql -uroot -p密碼 -D資料庫名<sql檔案全路徑 但是當資料庫的密碼為空時,應該這樣: mysql -uroot -D資料庫名<
vue-cli + router生成的專案,當mode為history時,直接在url中輸入地址頁面訪問404,或者重新整理頁面後404
有的時候,業務中會有一些需求,直接在其他地方,比如郵件中提供系統連結,通過點選一個url直接跳轉到我們的系統中來。 在本地開發時,直接輸入對應的url就可以訪問,但是當專案部署在伺服器之後,直接輸入url就會報錯404,這是因為router本身提供的就是一個 虛擬路徑,通過
當圖片路徑為空時什麼都不顯示(無x)
在<img ...>內新增 onerror=this.style.display="none",<img onerror=this.style.display="none" src="<%=request.getContextPath() %>
原生js實現placeholder 當獲取焦點時清空,失去焦點且為空時恢復
pan .get fun NPU 清空 element 失去 document 實現 <body> <input type="text" value="請輸入內容" id="text1" /> </body> <scri
js 當變數值為0,判斷是否為空時(0=='')返回ture的問題
var aa = 0; if(aa==""){ alert("111"); } ------------------------------ var aa = 00; alert(aa==""); 都是返回true。 這是因為0與 ’ ’ 轉換成布林型都是false的。
js 當變數值為0,判斷是否為空時(0=='')返回ture的問題
var aa = 0; if(aa==""){ alert("111"); } ------------------------------ var aa = 00; alert(aa==""); 都是返回true。 這是因為0與 ’ ’ 轉換成布林型都是fa
js 當變數值為0,判斷是否為空時(0=="")返回ture的問題
var aa = 0; if(aa=="")alert("111"); 或者 var aa = 00; aa=="" 都是返回true。 這是因為0與 ’ ’ 轉換成布林型都是false的。 var aa = 0; if(aa.toStri
springmvc中的檢視模型的返回方式,尤其注意當返回值為空時的預設檢視返回路徑
way1:略過; way2:(神似way1)通過在方法的引數中新增一個Model型別的引數,,該引數由spring自動生成傳入, 然後在方法內部使用addAttribute()方式新增模型資料, 最後使用return返回一個檢視名稱(檢視的路徑), 從而在頁面上可以同時使用模型資料以及得到檢視