本文主要講述如何實現在標題頭上放乙個按鈕上去,按下去選擇一整個列的功能。用三種方法演示效果。
方法一(較簡單):
使用模板列
html code
<
asp:gridview
id="gridview1"
runat
="server"
autogeneratecolumns
=false
width
="230px"
>
<
columns
>
<
asp:templatefield
>
<
headertemplate
>
<
asp:button
id="button1"
runat
="server"
text
="全選"
onclick
="button1_click"
/>
headertemplate
>
<
itemtemplate
>
<%
#eval("
id") %>
itemtemplate
>
asp:templatefield
>
<
asp:boundfield
datafield
="title"
/>
columns
>
asp:gridview
>
c# code
protected
void
page_load(
object
sender, eventargs e)
}protected
void
button1_click(
object
sender, eventargs e)
else
for(
inti =0
; i
<
gridview1.rows.count; i++)
}方法二(中等難度):
在page_load中的if(!
ispostback){}外邊動態新增控制項
html code
<
asp:gridview
id="gridview1"
runat
="server"
width
="230px"
onrowdatabound
="gridview1_onrowdatabound"
>
asp:gridview
>
c# code
protected
void
page_load(
object
sender, eventargs e)
button bt
=new
button();
//bt.id ="
bt1"
;bt.text ="
測試";bt.commandargument ="
1";bt.click
+=new
eventhandler(bt_click);
gridview1.headerrow.cells[
1].controls.add(bt);
}protected
void
gridview1_onrowdatabound(
object
sender, gridviewroweventargs e)
}protected
void
bt_click(
object
sender, eventargs e)
else
for(
inti =0
; i
<
gridview1.rows.count; i++)
}第三種(有點難度):
使用viewstate儲存序列化後的控制項,在建立時再反序列化
html code
c# code
protected void page_load(object sender, eventargs e)
}protected void gridview1_load(object sender, eventargs e)
else
bt = viewstate["but"] as obutton;
bt.click += new eventhandler(bt_click);
gridview1.headerrow.cells[1].controls.add(bt);
}protected void bt_click(object sender, eventargs e)
else
for (int i = 0; i < gridview1.rows.count; i++)
viewstate["but"] = bt;
}這是重點,重寫button類,並繼承iserializable介面,以實現button的可序列化:
[serializable]
class obutton : button, system.runtime.serialization.iserializable
protected obutton(system.runtime.serialization.serializationinfo info,
system.runtime.serialization.streamingcontext context)
public void getobjectdata(system.runtime.serialization.serializationinfo info,
system.runtime.serialization.streamingcontext context)
如何防止建立的索引失效?
一 在使用索引的時候,需要注意的幾個地方來防止索引的失效 當你使用索引的時候,最好能夠把你建立的索引的字段都給用到。不僅可以提供查詢的效率 最佳左字首法則,意思就是當你如果有建立過多個字段索引的組合索引的時候,最要遵循最左字首法則,就是指當mysql在使用索引查詢的時候不會跳過中間已經建立好的索引列...
動態建立gridview
asp.net 中gridview還是挺好用的,尤其格式的設定對我們這種不會css的人來說很合適。但是有時候需要動態的建立column,而且datasource也需要編輯。下面舉例 1.動態新增column,column為多個日期 介面增加列 true為按周,false為按天 protected v...
在GridView中如何格式化Money型字段
在gridview中如何格式化money型字段?asp gridview id gridview1 runat server autogeneratecolumns false datakeynames pkid datamember defaultview datasourceid sqldata...