Создание глобальной переменной для копирования datatable из одной функции не показывает данные при вызове другой функции. Не знаю почему!
Я загружаю электронную таблицу excel в gridview с помощью datatable и сохраняю данные excel в datatable. однако из-за разбиения на страницы я не могу получить имя каждой строки в моем столбце gridview, когда я использую
(GridView1.Rows(i).Cells(x).Text.ToStringя делаю свойство arraylist. add для каждой строки в столбце 1, однако отображается только первая страница, но не остальные. Кроме того, когда я добавляю datatable в объект класса глобальной переменной, который также является datatable, он не может прочитать его в другой функции. Я не уверен, почему это происходит.
Public Class GlobalVariable Public Shared Dttbl As New DataTable End Class Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then Call loadExcel() Call callGlobalVariable() End If End Sub Public Function loadExcel() Dim MyConnection As System.Data.OleDb.OleDbConnection Dim MyCommand As System.Data.OleDb.OleDbDataAdapter Dim taskTable As New DataTable Dim filePath = Path.Combine(GlobalVariable.savedPath, GlobalVariable.excelFileName) 'Code to Use an Oledb Connection to get data from the Excel File If File.Exists(filePath) Then MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filePath & ";Extended Properties='Excel 12.0 Xml;HDR=YES;';") MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection) MyCommand.Fill(taskTable) 'Persist the table in the Session object. 'Below is what i am doing to copy the task table globally so i can use it in a function call. HOWEVER IT DOESN't Show in another function call. not sure why. GlobalVariable.Dttbl = taskTable.Copy Session("TaskTable") = taskTable 'Bind data to the GridView control. BindData() MyConnection.Close() Return Nothing End Function
еще одна функция, которую я создаю вот так, и я пытаюсь вызвать globalvariable
Public Function callGlobalVariable() 'The below shows up empty i am not sure why. But it is able to read above in the loadExcel() function. GlobalVariable.Dttbl.Rows(0).ItemArray(0).ToString() Return Nothing End Function
Что я уже пробовал:
Я попробовал следующий код выше, но он дает мне проблемы, не зная, что теперь делать.
Tomas Takac
Вы не показываете код, связанный с тем, о чем вы говорите. Вы должны разместить свой код в поле "что я пробовал". Пожалуйста, используйте Улучшить вопрос кнопка для этого.
JT1992
сожалеть об этом. я пытаюсь создать переменную, которая является глобальной и использует вещи в поле what have i tried. Спасибо!