С Новым годом! Форум программистов, компьютерный форум, киберфорум
.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Alex_1

Проблема с DataGrid:The IListSource does not contain any data sources.

13.04.2010, 00:51. Показов 1643. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
У меня вот какая проблема. Есть DataGrid. На форме 2 кнопки. При нажатии на любую из них, грид заполняется инфой из БД. Скажем одна кнопка клиенты А, вторая клиенты Б. Тут все ок. Потом я хочу редактировать данные в гриде. пишу код:
VB.NET
1
2
3
4
5
6
7
Private Sub TestGrid_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles TestGrid.EditCommand
 
        TestGrid.DataSource = thisDataSet
        TestGrid.DataKeyField = 'TripID'
        TestGrid.EditItemIndex = e.Item.ItemIndex
        TestGrid.DataBind()
End Sub
Но получаю error message:

The IListSource does not contain any data sources.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: The IListSource does not contain any data sources.

Source Error:

Line 168: TestGrid.DataKeyField = 'TripID'
Line 169: TestGrid.EditItemIndex = e.Item.ItemIndex
Line 170: TestGrid.DataBind()
Line 171:
Line 172: End Sub


Source File: g:inetpubwwwrootTripNetGridTest.aspx.vb Line: 170

Stack Trace:

[HttpException (0x80004005): The IListSource does not contain any data sources.]
System.Web.UI.DataSourceHelper.GetResolv edDataSource(Object dataSource, String dataMember) +376
System.Web.UI.WebControls.DataGrid.Creat eControlHierarchy(Boolean useDataSource) +473
System.Web.UI.WebControls.BaseDataList.O nDataBinding(EventArgs e) +49
System.Web.UI.WebControls.BaseDataList.D ataBind() +23
TripNet.GridTest.TestGrid_EditCommand(Ob ject source, DataGridCommandEventArgs e) in g:inetpubwwwrootTripNetGridTest.aspx.vb: 170
System.Web.UI.WebControls.DataGrid.OnEdi tCommand(DataGridCommandEventArgs e) +110
System.Web.UI.WebControls.DataGrid.OnBub bleEvent(Object source, EventArgs e) +466
System.Web.UI.Control.RaiseBubbleEvent(O bject source, EventArgs args) +26
System.Web.UI.WebControls.DataGridItem.O nBubbleEvent(Object source, EventArgs e) +106
System.Web.UI.Control.RaiseBubbleEvent(O bject source, EventArgs args) +26
System.Web.UI.WebControls.Button.OnComma nd(CommandEventArgs e)
System.Web.UI.WebControls.Button.System. Web.UI.IPostBackEventHandler.RaisePostBa ckEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IP ostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(Na meValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277


Как мне выйти из этой ситуации?

На всякий случай - вот мой код:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Imports System.Data
Imports System.Data.SqlClient
Public Class GridTest
    Inherits System.Web.UI.Page
 
#Region ' Web Form Designer Generated Code '
 
    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.MyDA = New System.Data.SqlClient.SqlDataAdapter
        Me.SqlDeleteCommand1 = New System.Data.SqlClient.SqlCommand
        Me.MyConn = New System.Data.SqlClient.SqlConnection
        Me.SqlInsertCommand1 = New System.Data.SqlClient.SqlCommand
        Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand
        Me.SqlUpdateCommand1 = New System.Data.SqlClient.SqlCommand
        Me.MyDS = New TripNet.MyDS
        CType(Me.MyDS, System.ComponentModel.ISupportInitialize).BeginInit()
        '
        'MyDA
        '
        Me.MyDA.DeleteCommand = Me.SqlDeleteCommand1
        Me.MyDA.InsertCommand = Me.SqlInsertCommand1
        ))
        Me.SqlDeleteCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_StartDate', System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'StartDate', System.Data.DataRowVersion.Original, Nothing))
        Me.SqlDeleteCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_TractorID', System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'TractorID', System.Data.DataRowVersion.Original, Nothing))
        Me.SqlDeleteCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_TrailerID', System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'TrailerID', System.Data.DataRowVersion.Original, Nothing))
        '
        'MyConn
        '
        Me.MyConn.ConnectionString = 'workstation id=GEORGE;packet size=4096;user id=sa;PWD=0809na;data source=''65.202.' & _
        '182.12'';persist security info=False;initial catalog=TripNet'
        '
        'SqlInsertCommand1
        '
        Me.SqlInsertCommand1.CommandText = 'INSERT INTO tblTrip(TripID, StartDate, FinishDate, MileageOut, MileageIn, Directi' & _
        'onID, TractorID, TrailerID, CompanyID) VALUES (@TripID, @StartDate, @FinishDate,' & _
        ' @MileageOut, @MileageIn, @DirectionID, @TractorID, @TrailerID, @CompanyID); SEL' & _
        'ECT TripID, StartDate, FinishDate, MileageOut, MileageIn, DirectionID, TractorID' & _
        ', TrailerID, CompanyID FROM tblTrip WHERE (TripID = @TripID)'
        Me.SqlInsertCommand1.Connection = Me.MyConn
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@TripID', System.Data.SqlDbType.VarChar, 50, 'TripID'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@StartDate', System.Data.SqlDbType.DateTime, 8, 'StartDate'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@FinishDate', System.Data.SqlDbType.DateTime, 8, 'FinishDate'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@MileageOut', System.Data.SqlDbType.Float, 8, 'MileageOut'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@MileageIn', System.Data.SqlDbType.Int, 4, 'MileageIn'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@DirectionID', System.Data.SqlDbType.Int, 4, 'DirectionID'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@TractorID', System.Data.SqlDbType.VarChar, 50, 'TractorID'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@TrailerID', System.Data.SqlDbType.VarChar, 50, 'TrailerID'))
        Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@CompanyID', System.Data.SqlDbType.VarChar, 50, 'CompanyID'))
        '
        'SqlSelectCommand1
        '
        Me.SqlSelectCommand1.CommandText = 'SELECT TripID, StartDate, FinishDate, MileageOut, MileageIn, DirectionID, Tractor' & _
        'ID, TrailerID, CompanyID FROM tblTrip'
        Me.SqlSelectCommand1.Connection = Me.MyConn
        '
        'SqlUpdateCommand1
        '
        Me.SqlUpdateCommand1.CommandText = 'UPDATE tblTrip SET TripID = @TripID, StartDate = @StartDate, FinishDate = @Finish' & _
        'Date, MileageOut = @MileageOut, MileageIn = @MileageIn, Dire   e', System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'FinishDate', System.Data.DataRowVersion.Original, Nothing))
        Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_MileageIn', System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'MileageIn', System.Data.DataRowVersion.Original, Nothing))
        Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_MileageOut', System.Data.SqlDbType.Float, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'MileageOut', System.Data.DataRowVersion.Original, Nothing))
        Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_StartDate', System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'StartDate', System.Data.DataRowVersion.Original, Nothing))
        Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_TractorID', System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'TractorID', System.Data.DataRowVersion.Original, Nothing))
        Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter('@Original_TrailerID', System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), 'TrailerID', System.Data.DataRowVersion.Original, Nothing))
        '
        'MyDS
        '
        Me.MyDS.DataSetName = 'MyDS'
        Me.MyDS.Locale = New System.Globalization.CultureInfo('en-US')
        CType(Me.MyDS, System.ComponentModel.ISupportInitialize).EndInit()
 
    End Sub
    Protected WithEvents MyDA As System.Data.SqlClient.SqlDataAdapter
    Protected WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand
    Protected WithEvents SqlInsertCommand1 As System.Data.SqlClient.SqlCommand
    Protected WithEvents SqlUpdateCommand1 As System.Data.SqlClient.SqlCommand
    Protected WithEvents SqlDeleteCommand1 As System.Data.SqlClient.SqlCommand
    Protected WithEvents MyConn As System.Data.SqlClient.SqlConnection
    Protected WithEvents MyDS As TripNet.MyDS
    Protected WithEvents TestGrid As System.Web.UI.WebControls.DataGrid
    Protected WithEvents btnOpen As System.Web.UI.WebControls.Button
    Protected WithEvents btnFinish As System.Web.UI.WebControls.Button
 
    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object
 
    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub
 
#End Region
    Public MySQL As String, _
    thisDS As New DataSet, _
    thisDA As New SqlDataAdapter
 
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        TestGrid.AllowPaging = True
        TestGrid.PageSize = 10
    End Sub
 
    Private Sub TestGrid_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles TestGrid.EditCommand
        TestGrid.DataSource = thisDS
        TestGrid.DataKeyField = 'TripID'
        TestGrid.EditItemIndex = e.Item.ItemIndex
        TestGrid.DataBind()
 
    End Sub
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2010, 00:51
Ответы с готовыми решениями:

Проблема с DataGrid - Cannot initialize data bindings. Помогите please.
Я использую msdatgrd.ocx и msadodc.ocx. У меня все работает хорошо, а на клиенте ошибка - Cannot initialize data bindings. Хотя эти ocx-ы...

Data sources и Form
Понимаю что задаю чисто идиотский вопрос но не могу понять почему не получается. Проблема в следующем в Среда SQL Server Management Studio...

Relational Data Sources
Всем привет! На днях открыл для себя такую штуку как Relational Data Sources. Но вот никак не могу прикрутить это для работы с...

1
Dragon
13.04.2010, 20:31
Я код не читал, слишком много его

Но дело скорее всего в том, что когда происходит событие ваш thisDataSet не содержит никаких данных, thisDataSet = nothing.
ASP.NET между вызовами сам не хранит содержиме вашего DataSet.
Надо заново его заполнить.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2010, 20:31
Помогаю со студенческими работами здесь

WPF DataGrid Data binding
Возникла необходимость сделать биндинг для int в DataGrid с возможностью редактирования. &lt;DataGrid...

Нужно связать DataGrid с Data
Дело вот в чем. Делаю маленькую прогу на VB6 с использованием базы данных, пользуюсь при етом книгой с примерами. Есть форма с обектом...

Нету ADO data controller и DataGrid Control
- Вообщем в методе написано добавить эти элементы на панель элементов, а у меня в вижле попросту их нет, подскажите плз что делать, где их...

Заполнение полей DataGrid с помощью др. Data grid
Ситуация: Кликнув на поле в одном DataGrid1 появлялся др. DataGrid2 из которого можна выбрать нужное поле для внесения в основной...

как сделать data binding между datagrid и sql?
Я удалил строчку из datagrid ds.Tables.Rows.Delete(); myDG.DataSource = ds.Tables; Было б не плохо сотворить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru