Я должен сделать Gridview, используя C# и ASP.NET. GridView, показанная ниже, начиная с этой таблицы SQL Server 2019 DBFIDDLE
Я имею цифры и поиск в коде и в стеке Googlefl Тем не менее, я не могу настроить в соответствии с прикрепленным скриншотом. src = "https://i.sstatic.net/2fk9mffm.png"/>
Как это решить?protected void OnDataBound(object sender, EventArgs e)
{
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
TableHeaderCell cell = new TableHeaderCell();
cell = new TableHeaderCell();
cell.ColumnSpan = 1;
cell.Text = "Hour";
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.ColumnSpan = 1;
cell.Text = "C_CO";
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.Text = "710";
cell.ColumnSpan = 3;
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.Text = "810";
cell.ColumnSpan = 3;
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.ColumnSpan = 3;
cell.Text = "830";
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.ColumnSpan = 3;
cell.Text = "E10";
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.ColumnSpan = 3;
cell.Text = "E40";
row.Controls.Add(cell);
cell = new TableHeaderCell();
cell.ColumnSpan = 3;
cell.Text = "TOTAL";
row.Controls.Add(cell);
row.BackColor = ColorTranslator.FromHtml("#3AC0F2");
GridView1.HeaderRow.Parent.Controls.AddAt(0, row);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindGrid();
}
}
private void BindGrid()
{
GridView1.DataSource = RetrieveProducts();
GridView1.DataBind();
}
private DataTable RetrieveProducts()
{
DataTable dt = new DataTable();
DataSet ds = new DataSet();
using (SqlConnection myConnectionString =
new SqlConnection(ConfigurationManager.ConnectionStrings["ConnSqlServer"].ConnectionString))
{
using (SqlCommand cmd =
new SqlCommand("sp_C_CO", myConnectionString))
{
cmd.CommandTimeout = 2147483;
cmd.Connection.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
SqlDataAdapter adapter =
new SqlDataAdapter(cmd);
adapter.Fill(ds);
if (ds.Tables.Count > 0)
{
dt = ds.Tables[0];
}
}
}
return dt;
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... nd-asp-net