当前位置: 代码迷 >> ASP.NET >> Gridview:自动生成的列和数据如何添加样式
  详细解决方案

Gridview:自动生成的列和数据如何添加样式

热度:7518   发布时间:2013-02-25 00:00:00.0
Gridview:自动生成的列和数据怎么添加样式
C# code
<asp:GridView ID="GridView1" runat="server" Width="80%">        </asp:GridView> if (!IsPostBack)        {                        GridView1.DataSource = dt;            GridView1.DataBind();        }<%--detail_id    price    quantity    amount1    320000.00000000    1.0000    320000.002    2000.00000000    1.0000    2000.003    680000.00000000    1.0000    680000.004    600000.60000000    1.0000    600000.60如何让后面3列右对齐。--%>


------解决方案--------------------------------------------------------
用datatable 填充gridview
------解决方案--------------------------------------------------------
在绑定事件里面可以设置
------解决方案--------------------------------------------------------
在gridview中的column属性里面拿table控制,在td里面绑定数据,然后定义td对齐就可以了;
如果嫌麻烦,gridview编辑列,就可以设置样式。
------解决方案--------------------------------------------------------
for (int i = 0; i < GridView1.Rows.Count; i++)
{
if (i.ToString() == SelectRowIndex)
{
GridView1.Rows[i].CssClass = "selectedTr";
}
else
{
GridView1.Rows[i].CssClass = GridView1.Rows[i].CssClass.Replace("selectedTr", "");
}
}

可以类似的这样来添加样式仅供参考,或者通过前台JS添加样式也可以方式很多。
------解决方案--------------------------------------------------------
就算不固定每一列也是的宽度也都是一样的,你的表头是自己做的,不是gridview的吧
------解决方案--------------------------------------------------------
写样式表呀,这个还不简单!
------解决方案--------------------------------------------------------
http://blog.sina.com.cn/s/blog_417568b50100kqa8
------解决方案--------------------------------------------------------
完整的例子
HTML code
<%@ Page Language="C#" EnableViewState="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">    // 计算数据,完全可以从数据库取得    System.Data.DataTable CreateDataSourceByXianhuiMeng()    {        System.Data.DataTable dt = new System.Data.DataTable();        dt.Columns.Add(new System.Data.DataColumn("detail_id", typeof(System.String)));        dt.Columns.Add(new System.Data.DataColumn("price", typeof(System.String)));        dt.Columns.Add(new System.Data.DataColumn("quantity", typeof(System.String)));        dt.Columns.Add(new System.Data.DataColumn("amount", typeof(System.String)));        for (int i = 0; i < 8; i++)        {            dt.Rows.Add(new Object[] {                              "孟子章" + i.ToString(),                              "学生姓名" + i.ToString(),                              "孟子章" + i.ToString(),                              "学生姓名" + i.ToString()                   });        }        return dt;    }    protected void Page_Load(object sender, EventArgs e)    {        GridView1.DataSource = this.CreateDataSourceByXianhuiMeng();        GridView1.DataBind();        GridView1.HeaderRow.Cells[GridView1.HeaderRow.Cells.Count - 1].HorizontalAlign = HorizontalAlign.Right;        foreach (GridViewRow x in GridView1.Rows)        {            x.Cells[x.Cells.Count - 1].HorizontalAlign = HorizontalAlign.Right;            x.Cells[x.Cells.Count - 2].HorizontalAlign = HorizontalAlign.Right;            x.Cells[x.Cells.Count - 3].HorizontalAlign = HorizontalAlign.Right;        }    }   </script><html><head>    <title></title></head><body>    <form id="form1" runat="server">    <asp:GridView ID="GridView1" runat="server" Width="100%">    </asp:GridView>    </form></body></html>