怎麼在綁定後動態改變DataGrid中的內容

來源:互聯網
上載者:User
datagrid|動態 在應用中,很多時候需要在綁定以後去修改DataGrid的呈現,比如
(1)當資料符合一定的條件需要修改它的呈現方式
(2)將資料庫中的邏輯值(0,1)變成男女來呈現等等
大致有2種方法來實現上述操作
(1)在ItemDataBound中修改值
(2)在綁定的時候用一個函數進行過慮
同樣,資料庫按照 http://blog.csdn.net/lovecherry/archive/2005/02/25/301441.aspx
我們來實現以下2個功能
(1)在ItemDataBound中把年齡小於30的人的一行底色修改為粉紅色
代碼如下
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem)
{
if(Convert.ToInt16(DataBinder.Eval(e.Item.DataItem,"iAge"))<30)e.Item.BackColor=Color.Pink;
}
}
當然需要註冊事件
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
(2)把姓名為“朱曄”的人,用加重顯示
前台代碼
<%#DataBinder.Eval(Container.DataItem,"vName") %>
修改為
<%# myfunc(DataBinder.Eval(Container.DataItem,"vName")) %>
後台代碼
protected string myfunc(object s)
{
string _s;
if(s.ToString()=="朱曄")
_s="<b>"+s.ToString()+"</b>";
else
_s=s.ToString();
return _s;
}

以上2種功能也就是我上面說的大致有2種方法來實現上述操作
就這麼簡單。
對於其他的一些相關擴充就不細說了
比如根據一個值來改變一些控制項的屬性:
如果控制項是模板列中的可以通過((控制項類型)e.Item.FindControl(id)).屬性=值 來動態設定;
如果控制項不是模板列中的可以通過((控制項類型)e.Item.Controls[索引號]).屬性=值 來動態設定
還比如根據一個列的值來寫其他列的統計值,都一樣的
在ItemDataBound事件方法中進行操作,因為這個時候資料繫結了




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。