有的時候想取不是編輯狀態的值,這個時候通常會使用模板列中放置textbox通過e.item.findcontrol取值,有的網友問為什麼取不到?這要看你前台的列怎麼寫的了,下面分別寫出四種情況和這四種情況下面的取值方式:
1<
asp:datagrid
id="datagrid1"
runat
="server"
autogeneratecolumns
="false"
allowpaging
="true"
>
2<
columns
>
3<
asp:boundcolumn
datafield
="vname"
headertext
="姓名0"
>
asp:boundcolumn
>
4<
asp:templatecolumn
headertext
="姓名1"
>
5<
itemtemplate
>
6姓名
7itemtemplate
>
8asp:templatecolumn
>
9<
asp:templatecolumn
headertext
="姓名2"
>
10<
itemtemplate
>
11itemtemplate
>
13asp:templatecolumn
>
14<
asp:templatecolumn
headertext
="姓名3"
>
15<
itemtemplate
>
16<
asp:label
id="name"
runat
="server"
text
='<%#databinder.eval(container.dataitem,"vname")%
>
'>
17asp:label
>
18itemtemplate
>
19asp:templatecolumn
>
20<
asp:buttoncolumn
text
="刪除"
buttontype
="pushbutton"
commandname
="del"
>
asp:buttoncolumn
>
21columns
>
22asp:datagrid
>
列出了4種大家可能遇到的列:
(1)繫結列
(2)模板列中直接放靜態的字串
(3)模板列中直接放繫結的字串
(4)模板列中通過label放繫結的字串
下面說明在按下了刪除按鈕以後的四種取值的方式:
1if(e.commandname=="
del") 2
(1)第一種用繫結列的方式可以直接通過cells[i].text取
(2)第二種方式也直接可以取,但是討厭的vs.net總是會在前台把列中的內容換行,所以這裡還需要對輸出的東西進行去除首尾的空格
(3)第三種方式不能直接通過cells[i].text取到值,可以通過上面給出的方法來取,同樣需要去除首尾的空格
(4)第四種方式也是最簡單的方式,當然你可以直接寫e.item.findcontrol("name")
datagrid 繫結動態列
如題,許多時候我們渴望繫結乙個不確定的列到datagrid,如果你真想這樣那麼10分鐘後你將實現,缺點是你不可能在datagrid的一行中得到乙個完整的類了.她借助了乙個國外的原始碼類,datagriddatasource.cs using system using system.collectio...
如何繫結DATAGRID控制項和XML文件
在網上找了一些資料,但是都沒有說明白原理,幸虧高人指點了解一二 肯定是將xml轉化為dataset 作的。轉化就不說了,肯定了解,就看一下xml轉化為dataset後的結構 我自己寫了點 試驗了以下,我的xml檔案是這樣的 這樣轉化為dataset時其實有兩個表,items 和 item items...
DataGrid繫結DataTable出錯
直接用datagrid.itemsource datatable.defaultview時會出現以下錯誤 target element is textblock name target property is text 需要用collectionviewsource來做中間轉換 另外實時更新資料,所...