前台:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnSorting="GridView1_Sorting" AllowSorting="true">
<Columns>
<asp:BoundField DataField="id" HeaderText="id"/>
</Columns>
</asp:GridView>
后台: protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridView();
}
}
void BindGridView()
{
this.GridView1.DataSource = GetTable();
this.GridView1.DataBind();
}
DataTable GetTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(string));
string[] str = new string[20];//把这个数组改成你的就好了
for (int i = 0; i < str.Length; i++)
{
str[i] = i.ToString();
}
for (int j = 0; j < str.Length; j++)
{
DataRow row = dt.NewRow();
row["id"] = str[j];
dt.Rows.Add(row);
}
return dt;
}
我要显示8时 9时 就是24小时 这一列 我该如何改你这个?我修改不了,我第一列不是数据库 但是其他列是数据库怎么绑定?
前台根据需要增加
后台可以用循环,把数据库查询出来行的也加到DT表中,再绑定就行了
还有就是在查询记录的时候自动加一列序号.
1、SELECT IDENTITY(INT,1,1) AS time, * FROM Table1
2、SELECT IDENTITY(INT,1,1) AS time, * INTO #temp1 FROM Table1
SELECT * FROM #temp1
DROP TABLE #temp1
using System.Drawing;
using System.Windows.Forms;
namespace test_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
for (int i = 1; i < 24; i++)
{
dataGridView1.Rows.Add(1,2,3,4);//加入要显示的内容,第一列1,第二列2,第三列3,第四列4
}
}
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)//在第一列加入序号
{
Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
e.RowBounds.Location.Y,
dataGridView1.RowHeadersWidth - 4,
e.RowBounds.Height);
TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
dataGridView1.RowHeadersDefaultCellStyle.Font,
rectangle,
dataGridView1.RowHeadersDefaultCellStyle.ForeColor,
TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
}
}
}
我这是网页的不是软件。。。
不好意思,小弟一直做的C#winform程序,网页接触太少,一楼是正解,你要显示24小时,就把24小时的数放进table就行了,直接把数组长度一改