2013-09-18 5 views
2

У меня есть простой рад. Он вызывает шаблон вставки, когда я нажимаю кнопку «Добавить запись», он отображает форму в вертикальном формате, я хотел бы изменить ее так, чтобы она отображалась в горизонтальном формате? Как мне это сделать?Шаблон настройки настройки Radgrid

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Session["GridData"] == null) 
      { 
       DataTable table = GetTable(); 
       Session.Add("GridData", table); 
      } 
      DefineGridStructure(); 
     } 


     private void DefineGridStructure() 
     { 
      RadGrid grid = new RadGrid(); 
      grid.ID = "RadGrid1"; 
      grid.NeedDataSource += new GridNeedDataSourceEventHandler(grid_NeedDataSource); 
      grid.AutoGenerateEditColumn = true; 
      grid.AutoGenerateDeleteColumn = true; 
      grid.AllowAutomaticInserts = false; 
      grid.Width = Unit.Percentage(100); 
      grid.PageSize = 15; 
      grid.AllowPaging = true; 
      grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; 
      grid.AutoGenerateColumns = false; 
      grid.MasterTableView.Width = Unit.Percentage(100); 
      grid.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.TopAndBottom; 
      grid.AllowAutomaticDeletes = false; 
      grid.AllowAutomaticUpdates = false; 
      grid.InsertCommand +=grid_InsertCommand; 
      grid.MasterTableView.DataKeyNames = new string[] { "RowNumber" }; 
      GridBoundColumn boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = "RowNumber"; 
      boundColumn.HeaderText = "RowNumber"; 
      boundColumn.ReadOnly = true; 
      grid.MasterTableView.Columns.Add(boundColumn); 
      boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = "Size"; 
      boundColumn.HeaderText = "Size"; 
      grid.MasterTableView.Columns.Add(boundColumn); 
      boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = "Description"; 
      boundColumn.HeaderText = "Description"; 
      grid.MasterTableView.Columns.Add(boundColumn); 
      boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = "Quantity"; 
      boundColumn.HeaderText = "Quantity"; 
      grid.MasterTableView.Columns.Add(boundColumn); 
      boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = "Duration"; 
      boundColumn.HeaderText = "Duration"; 
      grid.MasterTableView.Columns.Add(boundColumn); 
      boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = "DurationType"; 
      boundColumn.HeaderText = "DurationType"; 
      grid.MasterTableView.Columns.Add(boundColumn); 
      boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = "Amount"; 
      boundColumn.HeaderText = "Amount"; 
      grid.MasterTableView.Columns.Add(boundColumn); 
      PlaceHolder1.Controls.Add(grid); 
     } 

     private void grid_InsertCommand(object sender, GridCommandEventArgs e) 
     { 
      // Looking to loop through the form so i can insert the values into the datatable 
     } 





     void grid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) 
     { 
      DataTable current = (DataTable)Session["GridData"]; 
      RadGrid grid = (RadGrid)sender; 
      grid.DataSource = current; 

     } 



     static DataTable GetTable() 
     { 
      // 
      // Here we create a DataTable with a few columns. 
      // 
      // Create Datatable to store all colums 
      DataTable dt = new DataTable(); 
      DataRow dr = null; 
      dt.Columns.Add(new DataColumn("RowNumber", typeof(string))); 
      dt.Columns.Add(new DataColumn("Size", typeof(string))); 
      dt.Columns.Add(new DataColumn("Description", typeof(string))); 
      dt.Columns.Add(new DataColumn("Quantity", typeof(string))); 
      dt.Columns.Add(new DataColumn("Unit", typeof(string))); 
      dt.Columns.Add(new DataColumn("Duration", typeof(string))); 
      dt.Columns.Add(new DataColumn("DurationType", typeof(string))); 
      dt.Columns.Add(new DataColumn("Amount", typeof(string))); 
      dr = dt.NewRow(); 
      dr["RowNumber"] = 1; 
      dr["Size"] = string.Empty; 
      dr["Description"] = string.Empty; 
      dr["Quantity"] = string.Empty; 
      dr["Unit"] = string.Empty; 
      dr["Duration"] = string.Empty; 
      dr["DurationType"] = string.Empty; 
      dr["Amount"] = string.Empty; 
      dt.Rows.Add(dr); 
      return dt; 
     } 

ответ

3

Попробуйте приведенный ниже фрагмент кода.

grid.MasterTableView.Columns.Add(boundColumn); 
grid.MasterTableView.EditMode = GridEditMode.InPlace; // I have Added this line 
PlaceHolder1.Controls.Add(grid); 

Сообщите мне, если возникнут проблемы.

+0

удивительный, это было идеально, именно то, что я искал, большое спасибо! –

Смежные вопросы