powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / есть ли аналог FieldByName("").AsString
14 сообщений из 14, страница 1 из 1
есть ли аналог FieldByName("").AsString
    #38197454
rigid_joke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть visual studio 2012 c#, база SQL server

создал проект, кинул туда
DataSet
DataGridView
BindingAdapter
BindingSource
ну и Navigator

нужен аналог FieldByName("название поля").AsString который был в Дельфях

то есть мне нужно обратится к ДатаСету с определенным набором по имени поля , чтобы получить текущие значение у курсора этого самого ДатаСета!

в инете нашел:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
  var dataTable = new DataTable();
    dataTable.Rows[rowIndex].ItemArray[index]//доступ для конкретной строки
    dataTable.Rows[rowIndex][/*columnIndex*/|/*columnName*/|/*column*/]
    foreach (DataRow row in dataTable.Rows)//итератор для строк
    {
        var columnValue = row.ItemArray[index];//по индексу
        var columnValue = row[/*columnIndex*/ | /*columnName*/ | /*column*/];//по индексу или имени колонки или объекту колонки
    }



но у меня нет dataTable!!

далее дошел до вот этого:
Код: c#
1.
this.PROIZVDataSet.Films.Columns["id_Films"]


но не понимаю как обратится именно к значению поля на котором стоит курсор!? перепробовал все свойства, но наверное что-то не так делаю, ибо значения не могу получить

в принципе мне нужно получить ID поля .. но хотелось бы узнать если аналог дельфям
если нет, то - как решить проблему получения ID из датасета?
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197468
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может сначала книжки читать.
Дата сет вообще-то состоит из ДатаТаблов и всяких релайшинов
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197496
rigid_joke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fortibransaМожет сначала книжки читать.
Дата сет вообще-то состоит из ДатаТаблов и всяких релайшинов

возможно я криво написал! понятное дело что ДатаТаблы там есть!
я имел ввиду что так как в примере написанно мне не подходит, из за того, что там идет обращение к определенному индексу строчки, а не к тому индексу на котором стоит курсор!

я нашел вот что: this.PROIZVDataSet.Films.Columns["id_Films"]
где:

PROIZVDataSet - DataSet
Films - Таблица с фильмами
Columns["id_Films"] - конкретная колонка

но как получить значение из данной строчки на которой стоит курсор, я не понимаю ..
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197509
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Блокноте что-ли пишешь? Студия кругов все подсказывает
Самый простой пример
Код: c#
1.
2.
3.
4.
5.
    foreach (DataRow row in PROIZVDataSet.Tables["Films"].Rows)//итератор для строк
    {
        var columnValue = row.ItemArray[index];//по индексу
        var columnValue = row["id_Films"];
    }


А если типизированный дата сет там прям например типа так:
Код: c#
1.
2.
3.
4.
foreach (PROIZVDataSet.FilmsRow row in PROIZVDataSet.Films)//итератор для строк
    {
        var columnValue = row.id_Films;
    }
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197516
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Студия кругом подсказывает
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197520
rigid_joke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fortibransaВ Блокноте что-ли пишешь? Студия кругов все подсказывает
Самый простой пример
Код: c#
1.
2.
3.
4.
5.
    foreach (DataRow row in PROIZVDataSet.Tables["Films"].Rows)//итератор для строк
    {
        var columnValue = row.ItemArray[index];//по индексу
        var columnValue = row["id_Films"];
    }


А если типизированный дата сет там прям например типа так:
Код: c#
1.
2.
3.
4.
foreach (PROIZVDataSet.FilmsRow row in PROIZVDataSet.Films)//итератор для строк
    {
        var columnValue = row.id_Films;
    }




спасибо большое за грамотный ответ!!

хотелось бы задать банальный вопрос:
а неужели нет свойства объекта КОЛОНОК , чтобы можно было вытащить готовое значение, как это делается в дельфях? неужели надо объявлять новый объект, передавать ему связь и уже из этого объекта вытаскивать нужное значение!
вопрос чисто для себя, чтобы понимать.
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197541
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot rigid_joke]fortibransaхотелось бы задать банальный вопрос:
а неужели нет свойства объекта КОЛОНОК , чтобы можно было вытащить готовое значение, как это делается в дельфях? неужели надо объявлять новый объект, передавать ему связь и уже из этого объекта вытаскивать нужное значение!
вопрос чисто для себя, чтобы понимать. ни черта не понял, коллекция Columns это описалово колонок в ДатаТабле, нууу, ну есть там ColumnName, но не понимаю что сказать хотел, да у тебя смотрю DataSet типизированный, дык это сгенерированный студией класс, он конечно похож на обычный DataSet, но...
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197643
rigid_joke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot fortibransa]rigid_jokeпропущено...
ни черта не понял, коллекция Columns это описалово колонок в ДатаТабле, нууу, ну есть там ColumnName, но не понимаю что сказать хотел, да у тебя смотрю DataSet типизированный, дык это сгенерированный студией класс, он конечно похож на обычный DataSet, но...

собственно я хотел спросить, какая либо возможность обратится напрямую к объекту за получением информации?
например:

в дельфи все просто, если есть DataSet (DataSource.DataSet), то обратится к полю на котором стоит курсор определенной колонки очень просто
Код: pascal
1.
DataSource.DataSet.FieldByName('название колонки').AsString


результатом будет значение поля строки, на которой стоит курсор, заданной колонки
т.е. не надо описывать эллемент ROW , присваивать ему указатель и по этому эллементу уже обращаться к значению

тут же чтобы сделать тоже самое получается надо написать:
Код: c#
1.
2.
3.
4.
        foreach (PROIZVDataSet.FilmsRow row in PROIZVDataSet.Films)//итератор для строк
                {
                    var columnValue = row.id_Films;
                }



вместо того, чтобы написать:
Код: c#
1.
PROIZVDataSet.Films.Columns["название колонки"].Value


где Value значение которое мы получаем вашим способом выше

.. или просто пространство описывается таким образом как выше и аналога тому что я написал нету? просто пытаюсь вникнуть в суть условий в которых работаю и пока тяжко))
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197652
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigid_jokeрезультатом будет значение поля строки, на которой стоит курсор, заданной колонки
т.е. не надо описывать эллемент ROW , присваивать ему указатель и по этому эллементу уже обращаться к значению

DataSet не имеет понятия о курсорах, он только хранит информацию и ничего более, та функциональнасть кот. тебе нужна находится в классе BindingSource
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197662
rigid_joke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pationrigid_jokeрезультатом будет значение поля строки, на которой стоит курсор, заданной колонки
т.е. не надо описывать эллемент ROW , присваивать ему указатель и по этому эллементу уже обращаться к значению

DataSet не имеет понятия о курсорах, он только хранит информацию и ничего более, та функциональнасть кот. тебе нужна находится в классе BindingSource

ок, понятно.
если есть возможность в общих чертах написать масенький пример того, как обратится по BindingSource к значению в ячейке данного курсора заданной колонки, то напишите плизз!!

и если можете посоветовать грамотную книгу почитать , то буду благодарен!
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197731
rigid_joke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pationrigid_jokeрезультатом будет значение поля строки, на которой стоит курсор, заданной колонки
т.е. не надо описывать эллемент ROW , присваивать ему указатель и по этому эллементу уже обращаться к значению

DataSet не имеет понятия о курсорах, он только хранит информацию и ничего более, та функциональнасть кот. тебе нужна находится в классе BindingSource


спасибо за подсказку, разобрался .. блин))



вообщем для тех кто не смог найти:
Код: c#
1.
this.PROIZVDataSet.Films.Rows[bindingSource_Films.Position].ItemArray[0].ToString()


здесь:
PROIZVDataSet - наш датасет
Films - таблица в датасете
bindingSource_Films.Position - данная позиция курсора в датасете
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38197744
rigid_joke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
немного доработал, чтобы можно было обращаться по имени колонки:

Код: c#
1.
2.
3.
4.
5.
this.films_ScenarioTableAdapter.Fill(
                                                this.PROIZVDataSet.Films_Scenario, Convert.ToInt32(
                                                      this.PROIZVDataSet.Films.Rows[bindingSource_Films.Position].ItemArray[
                                                            this.PROIZVDataSet.Films.Columns["id_Films"].Ordinal].ToString() 
                                               ));
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38198148
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Внимание! Для тех, кто не мог найти!
Не чешите правой рукой левое ухо!

Код: c#
1.
2.
3.
4.
this.films_ScenarioTableAdapter.Fill(
this.PROIZVDataSet.Films_Scenario, 
(int)((DatarowView)(bindingSource_Films.Current)["id_Films"])
                                               );
...
Рейтинг: 0 / 0
есть ли аналог FieldByName("").AsString
    #38198282
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigid_jokeспасибо за подсказку, разобрался .. блин))



вообщем для тех кто не смог найти:
Код: c#
1.
this.PROIZVDataSet.Films.Rows[bindingSource_Films.Position].ItemArray[0].ToString()



здесь:
PROIZVDataSet - наш датасет
Films - таблица в датасете
bindingSource_Films.Position - данная позиция курсора в датасете

это не правильное использование

Код: c#
1.
var value = ((DataRowView)bindingSource_Films.Current)[0].ToString();
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / есть ли аналог FieldByName("").AsString
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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