0 голосов
спросил от в категории ASPNETC5
Хорошо - я вижу.

Не забудьте использовать параметры форматирования кода в своих сообщениях (это желтая кнопка «код» на В верхней части текстовой области добавляются теги кода к вашему сообщению. Я обновил ваш вопрос для вас, на этот раз.

Как я буду делать это:
1: lt; deleted gt; на самом деле это не нужно. 2: добавьте еще один обработчик событий в gridview для DataBound , который произойдет после привязки данных и добавлены другие строки.
3: В обработчике события суммируйте столбцы (псевдо-код ниже) и создайте строку нижнего колонтитула gridview 4: добавьте нижний колонтитул в gridview rows.

//I took the liberty of formatting your code as well protected void BindGridviewData() {     string dataId = Request.QueryString["q"];     DataTable scoreGrid = new DataTable();     //This will clean up connections     using (SqlConnection conn = new SqlConnection(connString))     {   //this will help cleanup connections         using (SqlCommand cmd = new SqlCommand("PROC_DO_Sector_Influencer", conn))         {             cmd.CommandType = CommandType.StoredProcedure;             cmd.Parameters.Add("@DO_Ticker", SqlDbType.VarChar, 50).Value = dataId;             SqlDataAdapter da = new SqlDataAdapter(cmd);             //Open the connection only when you need it             conn.Open();             da.Fill(scoreGrid );             // ALWAYS close it             conn.Close();         }     }     gridScore.DataSource = ConvertColumnsAsRows(scoreGrid );     gridScore.DataBind();     gridScore.HeaderRow.Visible = false; } //This could prolly be better.  i haven't tested it either protected void gridScore_DataBound(object sender, EventArgs e) {     // Grab the source from the grid.  It will not have the extra heading column     DataTable dt = gridScore.DataSource as DataTable;     if(dt==null)         return;     int[] footerValues = new int[dt.Columns.Count];     //Loop through each row...     foreach (DataRow row in dt.Rows)     {         //... and column         for(int x = 0;x<dt.columns.count;x++)>         {             footerValues[x] += int.Parse(row[x].ToString());         }     }     GridViewRow footerRow = gridScore.FooterRow;     footerRow.Cells.Add(new TableHeaderCell     {         Text = @"Totals",         ColumnSpan = 2,         BackColor = Color.FromArgb(0xA7A6AA)     });     foreach (int footerValue in footerValues)     {         // get your image based in the value         System.Web.UI.WebControls.Image image = GetIconFromValue(footerValue);         TableCell cell = new TableCell();         cell.Controls.Add(image);         // you may need to iterate through the footer cells instead         footerRow.Cells.Add(cell);     } } protected void gridScore_RowDataBound(object sender, GridViewRowEventArgs e) {     if (e.Row.RowType == DataControlRowType.DataRow)     {         e.Row.Cells[0].CssClass = "gridcss";     } } public DataTable ConvertColumnsAsRows(DataTable dt) {     DataTable dtnew = new DataTable();     //Convert all the rows to columns     for (int i = 0; i <= dt.Rows.Count; i++)     {         dtnew.Columns.Add(Convert.ToString(i));     }     // Convert All the Columns to Rows     for (int j = 0; j < dt.Columns.Count; j++)     {         var dr = dtnew.NewRow();         dr[0] = dt.Columns[j].ToString();         for (int k = 1; k <= dt.Rows.Count; k++)             dr[k] = dt.Rows[k - 1][j];         dtnew.Rows.Add(dr);     }     return dtnew; } protected void gridScore_RowCreated(object sender, GridViewRowEventArgs e) {     if (e.Row.RowType == DataControlRowType.Header)     {         GridViewRow headerRow = new GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Insert);         TableCell headerCell = new TableCell         {             Text = @"Score Influncers",             ColumnSpan = 2,             BackColor = Color.FromArgb(0xA7A6AA)         };         headerCell.Font.Size = 12;         headerRow.Cells.Add(headerCell);         gridScore.Controls[0].Controls.AddAt(0, headerRow);     } } 

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

Категории

Добро пожаловать на сайт DraftingCode Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...