DataGrid应用技巧两则:列求和与列字段转换

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有