Почему IntelliSense не «знает» о моих данных? - PullRequest
3 голосов
/ 21 марта 2012

Я создал набор данных (DataSet1.xsd). Затем я создал TableAdapter (DataTable1TableAdapter) и добавил запрос (изображения ниже):

dataset

query

При предварительном просмотре данных я вижу именно то, что ожидал: множество возвращенных строк.

В моей программе на C # в событии button1_Click я пытался ввести следующее:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MailingList
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
            foreach (DataRow row in DataTable1.Rows)
            {
                // insert code here to work with the data
            }

        }
    }
}

Проблема в том, что IntelliSense не распознает мои данные и помещает волнистую красную линию под ним. Поскольку я описал | описал данные на экране дизайнера, не должен ли он быть доступен для использования в моей программе? Или мне нужно определить таблицу данных и добавить столбцы в нее в программе?

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 21 марта 2012

DataTable является частью DataSet и не имеет локальной ссылки. Изменение

this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
foreach (DataRow row in DataTable1.Rows)

до

this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
foreach (DataRow row in this.DataSet1.DataTable1.Rows)
1 голос
/ 21 марта 2012

Вам необходимо добавить набор данных в форму Form1 .

От MSDN:

Откройте форму или компонент, с которым вы хотите работать.При необходимости переключитесь в режим конструктора.На вкладке «Данные» панели инструментов перетащите объект DataSet в конструктор.

Появится диалоговое окно «Выбор набора данных».Выберите Типизированный набор данных, а затем в раскрывающемся списке выберите набор данных, который вы хотите использовать, и нажмите кнопку ОК.

В раскрывающемся списке содержится список всех классов типизированных наборов данных в вашем проекте..

...