недостающие данные в сетке - PullRequest
1 голос
/ 04 января 2009

Я создал

        DataTable dt = new DataTable();

        dt.Columns.Add("Type");
        dt.Columns.Add("Address1");
        dt.Columns.Add("Address2");
        dt.Columns.Add("PostalCode");
        dt.Columns.Add("Country");

        DataRow drow = dt.NewRow();

        drow["Type"] = ddlAddressType.SelectedItem.ToString();
        drow["Address1"] = txtAddress1.Text;
        drow["Address2"] = txtAddress2.Text;
        drow["PostalCode"] = txtPostalCode.Text;
        drow["Country"] = ddlCountry.SelectedItem.ToString();

        dt.Rows.Add(drow);

        Session["Address"] = dt;

попытался добавить значение в сетку, используя следующий код:

public void populateAddressGridView()
{
    if (Session["Address"] != null)
    {
        DataTable dt = (DataTable)Session["Address"];

        if ((dt != null) && (dt.Rows.Count > 0))
        {
            AddressGridView.Visible = true;
            AddressGridView.DataSource = dt;
            AddressGridView.DataBind();
        }
        else
        {
            AddressGridView.Visible = false;
        }
    }

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

как мне решить эту проблему?

Ответы [ 4 ]

1 голос
/ 16 января 2009

Звучит так, будто вам нужно установить AutoGenerateColumns = "false", а затем указать столбцы для отображения в виде сетки:

<asp:GridView ID="AddressGridView" runat="server" AutoGenerateColumns="false">
<Columns>
    <asp:BoundField HeaderText="Type" DataField="Type" />
    <asp:BoundField HeaderText="Address1" DataField="Address1" />
    <asp:BoundField HeaderText="Address2" DataField="Address2" />
    <asp:BoundField HeaderText="PostalCode" DataField="PostalCode" />
    <asp:BoundField HeaderText="Country" DataField="Country" />
</Columns>
<EmptyDataTemplate>
    No records were found matching your search criteria
</EmptyDataTemplate>
</asp:GridView>
0 голосов
/ 06 января 2009

Смотрит прямо на меня. Когда вы отлаживаете, можете ли вы подтвердить, что объект сеанса корректно приводится к таблице данных? У dt есть строки после приведения? Получает ли код метод привязки данных?

0 голосов
/ 15 января 2009

Нужно ли регистрироваться

Переменная Session ["Address"] в файле Global.asax перед ее использованием ???

и Гектор

убедитесь, что сессия вашего приложения включена в файле web.config.

0 голосов
/ 06 января 2009

В определении вашего GridView убедитесь, что вы определили его, если AutoGenerateColumns установлено в false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...