閃光區
demo當選微軟2009年度第三季最有價值專家
demo獲得藍色小舖2009高級專家認證
demo獲得藍色小舖2009資訊專家貢獻獎
認證徽章
工商時間
 
demo小鋪

將GridView顯示的值抓出來用或做編輯

如果您已經利用了GridView顯示出你的資料,但是該資料還需要顯示在其他的地方或是來運用其他運算的話就可以利用這很簡單的方法抓到它。

頁面上先給它一個GridView和TextBox囉(本範例使用北風資料庫)

<asp:GridView OnDataBound="GridView1_DataBound" EmptyDataText="沒有資料錄可顯示。" DataSourceID="SqlDataSource1"
    DataKeyNames="TerritoryID" AutoGenerateColumns="False" runat="server" ID="GridView1">
    <Columns>
        <asp:BoundField SortExpression="TerritoryID" ReadOnly="True" HeaderText="TerritoryID"
            DataField="TerritoryID"></asp:BoundField>
        <asp:BoundField SortExpression="TerritoryDescription" HeaderText="TerritoryDescription"
            DataField="TerritoryDescription"></asp:BoundField>
        <asp:BoundField SortExpression="RegionID" HeaderText="RegionID" DataField="RegionID">
        </asp:BoundField>
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="連結字串" SelectCommand="SelectCommand=SELECT top(5) [TerritoryID], [TerritoryDescription], [RegionID] FROM [Territories]">
</asp:SqlDataSource>
<asp:TextBox runat="server" ID="TextBox21"></asp:TextBox> 


★注意事項:注意看我們的GridView有用OnDataBound事件,這意思是在GridView資料繫結後才觸動的事件

在CS頁面只需要寫

protected void GridView1_DataBound(object sender, EventArgs e)
   {
       this.TextBox1.Text = this.GridView1.Rows[1].Cells[2].Text;
   } 

★注意事項:Rows[1]是表示第一行,Cells[2]表示第二格,所以我們是取出第一行的第二格文字出來。

如果你是需要抓取隱藏欄位請參考GridView如何抓取已經隱藏的欄位值

衍生使用,既然都可以抓當然也可以改變他的相關值用法就是類似下方囉

protected void GridView1_DataBound(object sender, EventArgs e)
 {
  //先宣告成變數後面比較精簡
 TableCell aa=this.GridView1.Rows[1].Cells[2];
 //如果aa的文字是1的話
 if (aa.Text == "1")
 {
     aa.Text = aa.Text + "元";
 }
     aa.Text  = aa.Text ;
 } 
 
 
加入此網頁到:Google Bookmarks
加入此網頁到:Yahoo! My Web
加入此網頁到:Baidu
加入此網頁到:MyShare
加入此網頁到:udn
加入此網頁到:furl
加入此網頁到:Del.icio.us
加入此網頁到:YouPush
加入此網頁到:Digg
加入此網頁到:你推我報
加入此網頁到:technorati
加入此網頁到:HemiDemi
 
相關的文章(隨機)

將本文推到 Plurk
將本文推到 Facebook
將本文推到 Twitter
將本文產生 PDF 保存
 

網友留言

shine
發表於:2010-02-01
請問用 VB 要怎麼寫?
看了一下有差別的應該只有
this.TextBox1.Text = this.GridView1.Rows[1].Cells[2].Text;
把「」改成()應該就過了,不然就到這裡去轉【C# to VB

PS 不需要留那麼多次吧
新增評論
* 暱稱
E-mail (本站使用Gravatar頭像E-mail不會顯示於網站上)
不填寫email將不會收到回覆通知。
網站
* 評論
不打勾才可留言
demo小鋪
 .