DataGrid应用技巧两则(downmoon)
一:增加求和列:
private
void
dgMeets_ItemDataBound(
object
sender,System.Web.UI.WebControls.DataGridItemEventArgse)
... {
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.Item)
... {
// 某列总和
intTotalNew = 0 ;
int i;
DataTablemyTable;
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 " );
}
}
... {
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.Item)
... {
// 某列总和
intTotalNew = 0 ;
int i;
DataTablemyTable;
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 >
< 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 " ) ? " 是 " : " <fontcolor=red>否</font> " ;
return s;
}
... {
string s = (k == " 0 " ) ? " 是 " : " <fontcolor=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 >
< 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 >