如我有SQL查询出来的一个datatable
ID Name Price
1 小王 1000
2 小张 1200
3 小李 1300 现在要求将他们绑定在我的一个HTML控件的Table上
注意 是一个Table 效果如
ID 1 2 3
Name 小王 小张 小李
Price 1000 1200 1300 谢谢 以下是CSDN magicbacon 给的解决方案
但是这样的话怎么让美工来调整他的样式呢
最好就是用Repeater做好样式然后绑定数据的方法谢谢
<%@ Page Language="C#" %><%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Drawing" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Price");
if (!IsPostBack)
{
dt.Rows.Add(dt.NewRow());
dt.Rows.Add(dt.NewRow());
dt.Rows.Add(dt.NewRow());
dt.Rows[0][0] = "1";
dt.Rows[0][1] = "小张";
dt.Rows[0][2] = "1000";
dt.Rows[1][0] = "2";
dt.Rows[1][1] = "小王";
dt.Rows[1][2] = "1200";
dt.Rows[2][0] = "2";
dt.Rows[2][1] = "小李";
dt.Rows[2][2] = "1300";
}
else
{
}
TableRow tr1 = new TableRow();
TableRow tr2 = new TableRow();
TableRow tr3 = new TableRow();
TableCell tc1 = new TableCell();
TableCell tc2 = new TableCell();
TableCell tc3 = new TableCell();
tc1.Text = "ID";
tr1.Cells.Add(tc1);
tc2.Text = "Name";
tr2.Cells.Add(tc2);
tc3.Text = "Price";
tr3.Cells.Add(tc3);
for (int i = 0; i < dt.Rows.Count; i++)
{
TableCell tcID = new TableCell();
tcID.Text = (string)dt.Rows[i][0];
tr1.Cells.Add(tcID);
TableCell tcName = new TableCell();
tcName.Text = (string)dt.Rows[i][1];
tr2.Cells.Add(tcName);
TableCell tcPrice = new TableCell();
tcPrice.Text = (string)dt.Rows[i][2];
tr3.Cells.Add(tcPrice);
}
this.Table1.Rows.Add(tr1);
this.Table1.Rows.Add(tr2);
this.Table1.Rows.Add(tr3);
}</script><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:Table ID="Table1" runat="server" BorderStyle="Solid"></asp:Table>
</div>
</form>
</body>
</html>
ID Name Price
1 小王 1000
2 小张 1200
3 小李 1300 现在要求将他们绑定在我的一个HTML控件的Table上
注意 是一个Table 效果如
ID 1 2 3
Name 小王 小张 小李
Price 1000 1200 1300 谢谢 以下是CSDN magicbacon 给的解决方案
但是这样的话怎么让美工来调整他的样式呢
最好就是用Repeater做好样式然后绑定数据的方法谢谢
<%@ Page Language="C#" %><%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Drawing" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Price");
if (!IsPostBack)
{
dt.Rows.Add(dt.NewRow());
dt.Rows.Add(dt.NewRow());
dt.Rows.Add(dt.NewRow());
dt.Rows[0][0] = "1";
dt.Rows[0][1] = "小张";
dt.Rows[0][2] = "1000";
dt.Rows[1][0] = "2";
dt.Rows[1][1] = "小王";
dt.Rows[1][2] = "1200";
dt.Rows[2][0] = "2";
dt.Rows[2][1] = "小李";
dt.Rows[2][2] = "1300";
}
else
{
}
TableRow tr1 = new TableRow();
TableRow tr2 = new TableRow();
TableRow tr3 = new TableRow();
TableCell tc1 = new TableCell();
TableCell tc2 = new TableCell();
TableCell tc3 = new TableCell();
tc1.Text = "ID";
tr1.Cells.Add(tc1);
tc2.Text = "Name";
tr2.Cells.Add(tc2);
tc3.Text = "Price";
tr3.Cells.Add(tc3);
for (int i = 0; i < dt.Rows.Count; i++)
{
TableCell tcID = new TableCell();
tcID.Text = (string)dt.Rows[i][0];
tr1.Cells.Add(tcID);
TableCell tcName = new TableCell();
tcName.Text = (string)dt.Rows[i][1];
tr2.Cells.Add(tcName);
TableCell tcPrice = new TableCell();
tcPrice.Text = (string)dt.Rows[i][2];
tr3.Cells.Add(tcPrice);
}
this.Table1.Rows.Add(tr1);
this.Table1.Rows.Add(tr2);
this.Table1.Rows.Add(tr3);
}</script><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:Table ID="Table1" runat="server" BorderStyle="Solid"></asp:Table>
</div>
</form>
</body>
</html>
可以直接给tr1 ,tr2,tr3 写样式啊
为什么不直接绑到 repeater
用GridView的话
protected void gvAdmin_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#dcdcdc';");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor= c;");
}
} 自己改改就成了
如果用在代码里面定样式的话会很麻烦
我想要在HTML里面写样式的有没有办法