DataGrid应用技巧两则(downmoon) 一:增加求和列: private void dgMeets_ItemDataBound( object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) ... { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.Item) ... { // 某列总和 intTotalNew = 0 ; int i; DataTable myTable; myTable = (DataTable) ((DataSet) this .dgMeets.DataSource).Tables[ 0 ]; for (i = 0 ;i < myTable.Rows.Count;i ++ ) ... { intTotalNew += int .Parse(myTable.Rows[i][ " attendnum " ].ToString()); } } else if (e.Item.ItemType == ListItemType.Footer) ... { e.Item.Cells[ 6 ].Text = " 总计: " + intTotalNew.ToString() + " 人 " ; e.Item.Cells[ 6 ].Attributes.Add( " Align " , " Right " ); } } 二:列字段转换: 方法1: < asp:TemplateColumn HeaderText ="是否可见" > < HeaderStyle HorizontalAlign ="Center" Width ="10%" ></ HeaderStyle > < ItemStyle HorizontalAlign ="Center" ></ ItemStyle > < ItemTemplate > < asp:Label runat ="server" ID ="lb" Text ='<%# ((DataBinder.Eval(Container, "DataItem.Conf_show", "{0}")) =="0")?"是":"<font color =red > 否 </ font > " %>'> ' > </ asp:Label > </ ItemTemplate > </ asp:TemplateColumn > 方法2: 后台------------ public string ConvertToBool( string k) ... { string s = (k == " 0 " ) ? " 是 " : " <font color=red>否</font> " ; return s; } 前台: < asp:TemplateColumn HeaderText ="是否可见" > < HeaderStyle HorizontalAlign ="Center" Width ="10%" ></ HeaderStyle > < ItemStyle HorizontalAlign ="Center" ></ ItemStyle > < ItemTemplate > < asp:Label runat ="server" ID ="lb" Text ='<%# ConvertToBool(DataBinder.Eval(Container, "DataItem.Conf_show", "{0}")) % > '> ' > </ asp:Label > </ ItemTemplate > </ asp:TemplateColumn >