Създаване на таблица с променлив брой клетки във Vusial Basic

В уеб изграждането е много често да се работи с таблици за различни цели. В този пример ще демонстрираме как с помощта на два падащи списъка DropDownList можете да подредите необходимия брой редове и колони в таблицата.

Таблица с променлив брой клетки, управлявана от два падащи списъка

Програмирайки текущата задача, нека стартираме системата VB2010 и създадем нов шаблонен проект за празно ASP.NET уеб приложение, нека го наречем tab.sln. Нека добавим уеб формуляр към текущия проект. За да направите това, в елемента от менюто Проект изберете командата Добавяне на нов елемент и в прозореца, който се показва, щракнете двукратно върху шаблона на уеб формуляр.

След това в конструктора WebForm1.aspx ще прехвърлим контролата Table, два падащи списъка DropDownList, два етикета Label и команден бутон Button от Toolbox към проектирания формуляр. Сега, използвайки например контекстното меню на проекта за уеб формуляр, избираме командата Преглед на кода, стигаме до раздела на файла за поддръжка на софтуера WebForm1.aspx.vb. Списъкът по-долу показва съответния код.

[vb]' Таблица с променлив брой клетки, управлявана от два ' падащи списъка. Уеб страницата позволява използването на ‘ два падащи списъка DropDownList за подреждане на необходимия ‘ брой редове и колони в таблицата и след това изграждане на подредената ‘ таблица. PublicClass WebForm1 Наследява System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.Load Page.Title ="Specify Table Dimension" If Page.IsPostBack = True Then Exit Sub ‘ Попълване на падащия списък ‘ когато страницата IsPost се зареди за първи път Back = False, ‘ в противен случай ще бъдат добавени нови елементи в падащото меню ‘списък при всяко презареждане на страница: DropDownList1.Items.Add("1") DropDownList1.Items.Add("2") DropDownList1.Items.Add("3") DropDownList2.Items.Add("1") DropDownList2.Items.Add("2") DropDownList2 .Items .Add("3") Table1.Caption = "Име на таблица" Table1.CaptionAlign = TableCaptionAlign.Right Table1.ToolTip ="Посочете броя на редовете и колоните и щракнете върху бутона" Table1.BorderStyle = BorderStyle.Solid Table1.Gr > Label1.Text ="Брой редове" Label2.Text ="Брой колони" Button1.Text = "Актуализиране на таблица" End Sub Private Sub Button1_Click(ByVal senderAs Object,ByVal e As System.EventArgs) Handles Button1.Click Dim i, j AsInteger За i = 1 ToInt32.Parse(D ropDownList1.SelectedItem.Value) Dim ROWAsNew TableRow For j = 1 ToInt32.Parse(DropDownList2.SelectedItem.Value) Dim CELLAsNew TableCell CELL.Text = "Row " & аз и усилвател ", Col " & j CELL.HorizontalAlign = HorizontalAlign.Center ROW.Cells.Add(CELL) Next Table1.Rows.Add(ROW) Next End Sub EndClass[/vb]

Както се вижда от програмния код, когато се зарежда страницата Page_Load, падащите списъци DropDownList се попълват със стойности, като попълването се извършва само при първоначалното зареждане на страницата, когато IsPostBack = False. Ако не бяхме предвидили заобикаляне на присвояването на първоначални стойности с IsPostBack = True, тогава стойностите в списъка щяха да се добавят при всяко презареждане на страницата. Обърнете внимание, че може да нямаме контрол над IsPostBack, ако инициализацията щеше да бъде извършена в процедурата за събитие за инициализация на страница Page_PreInit (във версията на VB.NET това събитие се наричаше Page_Init).

Когато обработваме събитието за щракване върху бутона Актуализиране на таблицата, имаме два вложени цикъла.Параметрите на двата цикъла i и j се променят от 1 до стойността, избрана от потребителя в съответния падащ списък. Методът Int32.Parse на пространството от имена System преобразува низ от съответното свойство на обекта DropDownList в променлива от тип Integer. Външният цикъл итерира през редовете на таблицата, а вътрешният цикъл итерира през клетките на таблицата. В тялото на външния цикъл следващата итерация създава нов обект ROW от класа TableRow, по подобен начин в тялото на вътрешния цикъл всеки път се създава нов CELL обект от класа TableCell.

За да стартирате създадения проект, натиснете клавиша. Това е краят на статията за създаване на таблица във Vusial Basic с определен брой клетки в колони и редове.