Отображение запроса в гриде

251
20 июня 2017, 22:33

Здравствуйте. Появилась проблема с отображением запроса в гриде. Сначала там отображался запрос на таблицу. Но там были вторичные ключи, и мне понадобилось заменить их значениями. Раньше делал так, и не было ошибок. Сейчас не пойму, что случилось. Вот как я загружаю данные в грид:

private void FillGrid()
{
    DataSet ds = PageUpdate();
    GridView1.DataSource = ds;
    GridView1.DataBind();
}
private DataSet PageUpdate()
{
    DataSet ds = new DataSet();
    con.Open();
    OracleDataAdapter da = new OracleDataAdapter("select temperature, name, location, length, width, thickness, shipping_date, a_comment, date_manufacture from steel_sheet join fuse on steel_sheet.fuse_id = fuse.fuse_id join steel_grades on steel_sheet.steel_grades_id = steel_grades.steel_grades_id join storage on steel_sheet.storage_id = storage.storage_id", con);
    da.Fill(ds, "STEEL_SHEET");
    con.Close();
    return ds;
}
protected void Page_Load(object sender, EventArgs e)
{
    FillGrid();
}

Что бы было удобней читать запрос прилагаю его ещё раз в более удобном виде:

select temperature, name, location, length, width, thickness, shipping_date, a_comment, date_manufacture from steel_sheet
join fuse on steel_sheet.fuse_id = fuse.fuse_id
join steel_grades on steel_sheet.steel_grades_id = steel_grades.steel_grades_id
join storage on steel_sheet.storage_id = storage.storage_id

А на строчке

GridView1.DataBind();

вылетает вот такая вот ошибка:

Никак не могу понять, в чём ошибка. Помогите, пожалуйста, срочно нужно решить эту проблему. Если нужны ещё какие-то вводные, пишите. Я всё добавлю в тему.

<asp:GridView ID="GridView1" runat="server" AutoGenerateSelectButton="True" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" DataKeyNames="STEEL_SHEET_ID" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="STEEL_SHEET_ID" HeaderText="STEEL_SHEET_ID" ReadOnly="True" SortExpression="STEEL_SHEET_ID" Visible="False" />
                <asp:BoundField DataField="TEMPERATURE" HeaderText="Плавка" SortExpression="TEMPERATURE" />
                    <asp:BoundField DataField="NAME" HeaderText="Марка стали" SortExpression="NAME" />
                    <asp:BoundField DataField="LOCATION" HeaderText="Местонахождение" SortExpression="LOCATION" />
                    <asp:BoundField DataField="LENGTH" HeaderText="Длинна" SortExpression="LENGTH" />
                    <asp:BoundField DataField="WIDTH" HeaderText="Ширина" SortExpression="WIDTH" />
                    <asp:BoundField DataField="THICKNESS" HeaderText="Толщина" SortExpression="THICKNESS" />
                    <asp:BoundField DataField="DATE_MANUFACTURE" HeaderText="Дата изготовления" SortExpression="DATE_MANUFACTURE" />
                    <asp:BoundField DataField="SHIPPING_DATE" HeaderText="Дата отгрузки" SortExpression="SHIPPING_DATE" />
                    <asp:BoundField DataField="A_COMMENT" HeaderText="Комментарий" SortExpression="A_COMMENT" />
            </Columns>
        </asp:GridView>
Answer 1

Поля, указанные в GridView.Columns, должны присутствовать в DataTable, содержащей данные для таблицы GUI. Для этого они все должны быть перечислены в SQL запросе, заполняющем датасет. Поле, которое надо добавить в SQL - STEEL_SHEET_ID.

READ ALSO
Электронная подпись XML

Электронная подпись XML

Не могу придти к общему пониманию механизмов подписи xml-документовБуду благодарен за помощь разобраться)

346
Как передать string в textbox?

Как передать string в textbox?

Доброго времени суток! Имеется POST запрос, в котором есть username=" + username + " password = " + password + "

217
JSON Использование

JSON Использование

Подскажите как возможно получить и записать значения json в файле

199
Visual Studio is busy asp.net mvc

Visual Studio is busy asp.net mvc

При добавлении записи в бд, из контролера возвращается PartialView, который должен просто выводить все объекты в html-список

335