powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
25 сообщений из 26, страница 1 из 2
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835038
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В идеале мне надо выполнить хранимку и в гриде вывести записи...

У меня есть хранимая процедура. Я создаю sqlcommand где задаю Connection , имя процедуры и так далее.

После выполнения хранимки с помощью команды мне надо отобразить результат в гриде.


Можно ли это сделать без датасета и datatable.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835070
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Вечный, источник все равно должен быть и поддерживать интерфейс IListSource. Это может быть и не дататэйбл а коллекция, например.
Но зачем тебе это надо?
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835102
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо просто через SqlCommand выполнить хранимку и показать записи в гриде.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835103
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем в данном случае датасет не угодил? Кода с его использованием будет на порядок меньше, чем в случае использования, например, коллекций.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835120
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см. SqlDataReader, по идее самый быстрый вариант.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835152
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2hDrummer, посути датаадаптер его и использует
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835155
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так - напрямую.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835194
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня например с ридером была проблемка, данные я заполнял типа так: (селект был большой и с разными типами данных)
Код: plaintext
1.
2.
3.
4.
 for i as Int32 =  0  to dr.FiledCount -  1 
  ..
   row(dr.GetName(i)) = dr(i) 
  next

выбивало непонятные ошибки, толи с конвертацией были проблемы, либо где-то DBNull пролетал. А вот через адаптер все гладко, и не намнго медленнее
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835231
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что-нибудь в этом духе?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
using System;
using System.Data.SqlClient;
using System.Web.UI.WebControls;

namespace SqlDataReaderAsSourceForWebGrid
{
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{
		    
            SqlConnection con = new SqlConnection("...");
            SqlCommand com = new SqlCommand("SELECT * FROM ...", con);
            con.Open();
            DataGrid dg = new DataGrid();
            dg.DataSource = com.ExecuteReader();
            con.Close();
		}
	}
}
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835263
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ридер разве поддерживает IListSource?
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835280
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
public sealed class SqlDataReader : MarshalByRefObject, IEnumerable, IDataReader, IDisposable, IDataRecord

Нет, но помнится, в каком-то проекте я так делал.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835281
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и компилятор даже в таком извращенном примере не ругается.
Надо б в вебприложении проверить, но похоже должно работать.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835287
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то сомневаюсь что такое пройдет, в исходниках четко видно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class DataGrid {
.....
public object DataSource
{
      get
      {
            return this.dataSource;
      }
      set
      {
            if (((value != null) && !(value is IList)) && !(value is IListSource))
            {
                  throw new Exception(SR.GetString("BadDataSourceForComplexBinding"));
            } 
         ......
         }

...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835291
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hDrummerНу и компилятор даже в таком извращенном примере не ругается.
Надо б в вебприложении проверить, но похоже должно работать.
а компилятору и незачем ругаться, DataSource то типа object
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835315
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил, всё работает. Так что можно ещё и так ;)
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835321
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код в Page_Load выглядит так -

Код: plaintext
1.
2.
3.
4.
5.
6.
            SqlConnection con = new SqlConnection("...");
            SqlCommand com = new SqlCommand("SELECT * FROM tbl_anek WHERE id<100", con);
            con.Open();
            DataGrid1.DataSource = com.ExecuteReader();
            DataGrid1.DataBind();
            con.Close();
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835324
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артём, а вы вообще про какой DataGrid? Про WinForms? Я про WebForms.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835350
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про винформс вообщето
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835374
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно Ну я с WinForms почти не работаю, так что про WinForms не скажу. Ну а в WebForms всё работает.
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835379
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 hDrummer
Я так пробовал и не пошло...

А ты про веб грид стало быть...
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835384
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
честнго говоря странно, вебгрид имеет аналогичное описание
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public virtual object DataSource
{
      get
      {
            return this.dataSource;
      }
      set
      {
            if (((value != null) && !(value is IListSource)) && !(value is IEnumerable))
            {
                  throw new ArgumentException(HttpRuntime.FormatResourceString("Invalid_DataSource_Type", this.ID));
            }
            this.dataSource = value;
      }
}

ну раз работает то хрен с ним...)))
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835422
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До кучи -
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32835808
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчестнго говоря странно, вебгрид имеет аналогичное описание


Не совсем...

win:
(((value != null) && !(value is IList)) && !(value is IListSource))

web:
(((value != null) && !(value is IListSource)) && !(value is IEnumerable))

SqlDataReader реализует IEnumerable, и поэтому его можно использовать с web-гридом, но не с win-гридом
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32836364
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ustazzwin:
(((value != null) && !(value is IList)) && !(value is IListSource))

web:
(((value != null) && !(value is IListSource)) && !(value is IEnumerable))

SqlDataReader реализует IEnumerable, и поэтому его можно использовать с web-гридом, но не с win-гридом

не понятно, все равно же требуется реализация IListSource, которой нет в ридере
...
Рейтинг: 0 / 0
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
    #32837777
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Преобразования выражения приводят к такой форме:
Код: plaintext
if (value != null && !(value is IListSource || value is IEnumerable))
При выполнении этого условия будет сгенерировано исключение, а вот если источник не null и реализует IEnumerable, то все в порядке :)
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]