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

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

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


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

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

Код: 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
20.12.2004, 16:00
    #32835263
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
а ридер разве поддерживает IListSource?
...
Рейтинг: 0 / 0
20.12.2004, 16:08
    #32835280
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
Код: plaintext
public sealed class SqlDataReader : MarshalByRefObject, IEnumerable, IDataReader, IDisposable, IDataRecord

Нет, но помнится, в каком-то проекте я так делал.
...
Рейтинг: 0 / 0
20.12.2004, 16:09
    #32835281
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
Ну и компилятор даже в таком извращенном примере не ругается.
Надо б в вебприложении проверить, но похоже должно работать.
...
Рейтинг: 0 / 0
20.12.2004, 16:10
    #32835287
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
что-то сомневаюсь что такое пройдет, в исходниках четко видно:
Код: 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
20.12.2004, 16:11
    #32835291
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
hDrummerНу и компилятор даже в таком извращенном примере не ругается.
Надо б в вебприложении проверить, но похоже должно работать.
а компилятору и незачем ругаться, DataSource то типа object
...
Рейтинг: 0 / 0
20.12.2004, 16:19
    #32835315
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
Проверил, всё работает. Так что можно ещё и так ;)
...
Рейтинг: 0 / 0
20.12.2004, 16:20
    #32835321
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
Код в 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
20.12.2004, 16:21
    #32835324
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
Артём, а вы вообще про какой DataGrid? Про WinForms? Я про WebForms.
...
Рейтинг: 0 / 0
20.12.2004, 16:29
    #32835350
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
про винформс вообщето
...
Рейтинг: 0 / 0
20.12.2004, 16:37
    #32835374
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
Понятно Ну я с WinForms почти не работаю, так что про WinForms не скажу. Ну а в WebForms всё работает.
...
Рейтинг: 0 / 0
20.12.2004, 16:39
    #32835379
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
2 hDrummer
Я так пробовал и не пошло...

А ты про веб грид стало быть...
...
Рейтинг: 0 / 0
20.12.2004, 16:40
    #32835384
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
честнго говоря странно, вебгрид имеет аналогичное описание
Код: 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
20.12.2004, 16:47
    #32835422
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
До кучи -
...
Рейтинг: 0 / 0
20.12.2004, 19:28
    #32835808
Ustazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что может выступать в качестве DataSource у DataGrid кроме DataView и DataTable?
авторчестнго говоря странно, вебгрид имеет аналогичное описание


Не совсем...

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

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

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


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