擴充套件 GridView 控制項

2021-05-22 20:50:18 字數 1443 閱讀 1382

解決:

方法一:採用其emptytemplate來實現,模版中寫乙個靜態的table;

缺點: 麻煩,每個gridview都需要設定一下.

方法二: 若資料來源為datatable,則當無資料時,始終返回乙個空行的datatable;

若資料來源是集合類(arraylist,list等),無資料時,生成乙個空的實體,加入到集合類中.

缺點: 還是麻煩.

方法三:

也是要給大家介紹的方法: 擴充套件gridview來實現.繼承gridvie,重寫render方法,當其資料來源為空時做一下處理,直接看**吧:

///

/// gridview 擴充套件控制項

/// @author:[email protected]

///

public class gridview : system.web.ui.webcontrols.gridview

get 

}private string _emptydatacellcssclass ;

/// 

/// 為空時資訊單元格樣式類

/// 

public string emptydatacellcssclass

get }//

/ //

/ 為空時輸出內容

///  //

/  protected virtual 

void

renderemptycontent(htmltextwriter writer)

tablerow row2 

=new

tablerow();

t.rows.add(row2);

tablecell msgcell 

=new

tablecell();

msgcell.cssclass 

=this

._emptydatacellcssclass;if(

this

.emptydatatemplate 

!=null

) //the

second

row, use the template

else

//the second row, use the

emptydatatext

msgcell.horizontalalign 

=horizontalalign.center;

msgcell.columnspan 

=this

.columns.count;

row2.cells.add(msgcell);

t.rendercontrol(writer);

}protected override 

void

render(htmltextwriter writer)

else

}    }}

gridView分頁控制項

using system using system.collections.generic using system.linq using system.web using system.web.ui.webcontrols using system.drawing using system.tex...

GridView控制項筆記

1 無資料依然顯示表頭 引數 所要繫結的gridview 所要繫結的資料集 public void bindnorecords gridview gridview,dataset ds 2 boundfield的格式化字串 dataformatstring 還要加上htmlencode false ...

關於gridview控制項

1 e.row.rowtype datacontrolrowtype.datarow的意思 e.row.rowtype 是指當前行的型別 datacontrolrowtype 是gridview的行的型別集合 其中的datarow是資料繫結行 這個判斷語句的意思就是判斷當前行是不是資料繫結行 2這個...