Palash Sachan Ответов: 1

Как удалить это пустое пространство из gridview в ASP.NET-что?


Как удалить это пустое пространство из gridview в asp.net-что?

пожалуйста, посмотрите это ИЗОБРАЖЕНИЕ

Я хочу удалить это пустое белое пространство, а не скрывать его(так как я знаю, что мы можем очень легко скрыть эту границу)

даже после сокрытия границы остается белое неиспользуемое пространство
я хочу удалить это

пожалуйста, посмотрите это ИЗОБРАЖЕНИЕ

мой GridView в коде :-

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="OrderID" OnRowDataBound="FindGridAndBound" GridLines="Horizontal">
				<AlternatingRowStyle BackColor="#F7F7F7" />
				<Columns>
					<asp:TemplateField>
						<ItemTemplate>
							<asp:GridView ID="GridViewNested" runat="server" AutoGenerateColumns="true" EnableViewState="false" 

								Width="100%" BackColor="Aquamarine" />
						</ItemTemplate>
					</asp:TemplateField>
				</Columns>
			</asp:GridView>


код позади :- [я взял этот код из этого Обучающее видео]

using NoshCart.DataLayer;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;

namespace NoshCart.Account
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetData();
            }
        }

        private void GetData()
        {
            //creating the sqlparameter object
            SqlParameter[] parameters = new SqlParameter[1];

            //adding the parameters
            parameters[0] = DataAccess.AddParameter("@custid", Convert.ToInt64(Session["Id"]), SqlDbType.BigInt, 20);

            //executing the Stored Procedure
            DataTable table = DataAccess.ExecuteDTByProcedure("SP_GetOrderIDNumbers", parameters);

            if (table.Rows.Count > 0)
            {
                GridView1.Visible = true;
                GridView1.DataSource = table;
                GridView1.DataBind();

            }
            else
            {
                LabelDataNotFound.Visible = true;
                LabelDataNotFound.Text = "No Orders Found";
            }
        }

        protected void FindGridAndBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType != DataControlRowType.DataRow) return;

            GridView nestedGridView = (GridView)e.Row.FindControl("GridViewNested");
            
            int ordid = int.Parse(GridView1.DataKeys[e.Row.RowIndex].Value.ToString());

            //creating the sqlparameter object
            SqlParameter[] parameters = new SqlParameter[2];

            //adding the parameters
            parameters[0] = DataAccess.AddParameter("@custid", Convert.ToInt64(Session["Id"]), SqlDbType.BigInt, 20);
            parameters[1] = DataAccess.AddParameter("@orderid", Convert.ToInt64(ordid), SqlDbType.BigInt, 20);

            //executing the Stored Procedure
            DataTable table = DataAccess.ExecuteDTByProcedure("SP_GetAllOrderDetails", parameters);

            nestedGridView.DataSource = table;
            nestedGridView.DataBind();
        }
    }
}


Метод AddParameter :-

public static SqlParameter AddParameter(string parameterName, object value, SqlDbType DbType, int size)
        {
            SqlParameter param = new SqlParameter();
            param.ParameterName = parameterName;
            param.Value = value.ToString();
            param.SqlDbType = DbType;
            param.Size = size;
            param.Direction = ParameterDirection.Input;
            return param;
        }


Метод ExecuteDTByProcedure :-

public static DataTable ExecuteDTByProcedure(string ProcedureName,SqlParameter[] Params)
  {
      SqlConnection conn = new SqlConnection(ConnectionString);
      SqlCommand cmd = new SqlCommand();
      cmd.Connection = conn;
      cmd.CommandText = ProcedureName;
      cmd.Parameters.AddRange(Params);
      cmd.CommandType = CommandType.StoredProcedure;
      SqlDataAdapter adopter = new SqlDataAdapter(cmd);
      DataTable dTable = new DataTable();

      try
      {
          adopter.Fill(dTable);
      }

      catch (Exception ex)
      {
          string str = ex.Message;
      }

      finally
      {

          adopter.Dispose();
          cmd.Parameters.Clear();
          cmd.Dispose();
          conn.Dispose();
      }
      return dTable;
  }


пожалуйста помочь

спасибо :)

Что я уже пробовал:

я перепробовал много вещей, но ни одна из них не работает вообще

e.Row.Cells[0].Visible = false;


gridView1.Columns[0].Visible = false;


RowHeadersVisible = "false"


ColumnHeadersVisible = "false"

Karthik_Mahalingam

вложенные таблицы?
показать на отделенного кода

Palash Sachan

Да, сэр, это вложенный gridview..я обновил вопрос..добавил код позади и другие методы также..пожалуйста, проверьте и, пожалуйста, помогите, если вы знаете ответ..Спасибо

Karthik_Mahalingam

использовать  Ответить   кнопка для отправки комментариев/запросов заинтересованному пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

Palash Sachan

прости, что забыл..

Karthik_Mahalingam

отлично, берегите себя в дальнейших постах

1 Ответов

Рейтинг:
8

Karthik_Mahalingam

пробовать

protected void Page_Load(object sender, EventArgs e)
       {
           if (!IsPostBack)
           {
               GetData();
               GridView1.HeaderRow.Visible = false;
           }
       }


Palash Sachan

работает отлично..спасибо вам, сэр :)

Karthik_Mahalingam

добро пожаловать