sudhakarthikeyan Ответов: 1

Отображение данных в gridview


Мой дизайн выглядит следующим образом

Оставьте тип ddlleavetype
Начиная с даты txtdate (текстовое поле)
На сегодняшний день txttodate (текстовое поле)
Примененная дата txtapplied (текстовое поле)
Причина txtReason (текстовое поле)

я показываю выше раскрывающийся список и значение текстового поля в gridview

Мой код выглядит следующим образом

охраняемых недействительными btnview_Click(объект отправителя, EventArgs в электронной)
{
DataTable dt = новый DataTable();
DataColumn dc1 = новый столбец данных("LeaveType");
DataColumn dc2 = новый столбец данных("FromDate");
Объект datacolumn дм3 = новый объект datacolumn("современные");
Объект datacolumn постоянный ток4 = новый объект datacolumn("AppliedOn");
Объект datacolumn вольтовый DC5 = новый объект datacolumn("почему-то");

ДТ.колонны.Добавить(dc1);
ДТ.колонны.Добавить(dc2);
ДТ.колонны.Добавить(dc3);
ДТ.колонны.Добавить(dc4);
ДТ.колонны.Добавить(вольтовый DC5);

ДР1 строкаданных = ДТ.Невров();
dr1["LeaveType"] = ddlleavetype.Выбранное значение.Метод toString();
dr1["FromDate"] = txtDate.Текст;
dr1["ToDate"] = txttodate.Текст;
dr1["AppliedOn"] = txtapplied.Текст;
dr1["причина"] = txtreason.Текст;
ДТ.Строк.Добавить(ДР1);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();
}

когда я запускаю приведенный выше код, когда я нажимаю кнопку,
в gridview значения текстового поля не отображаются в gridview. Он показывает пустое место в gridview.

В чем ошибка в моем вышеприведенном коде

Что я уже пробовал:

.

F-ES Sitecore

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

[no name]

я отлаживаю свой код в dt values comes , но в режиме запуска gridview показывает пустой. я проверил несколько раз.

GridView1.DataSource = dt; //Values приходит в dt показывает все 5 значений. но в gridview отображается пусто . может, пожалуйста, помогите мне относительно этого.

Karthik_Mahalingam

использовать  Ответить   кнопка для отправки комментариев/запросов заинтересованному пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

Laxmidhar tatwa technologies

chnage автогенерированный столбец true сетки

Vincent Maverick Durano

Свойство AutogenerateColumns имеет значение true по умолчанию AFAIK.

Richard Deeming

Репост
Вы уже опубликовали этот вопрос:
https://www.codeproject.com/Questions/1226683/How-to-display-data-in-to-gridview-using-Csharp[^]

Если вы хотите обновить свой вопрос, чтобы добавить недостающую информацию, Нажмите зеленую ссылку "улучшить вопрос" и отредактируйте свой вопрос. НЕ опубликуйте обновление как новый вопрос.

Sinisa Hajnal

Попробуй позвонить ДТ.Метод acceptchanges

1 Ответов

Рейтинг:
1

Vincent Maverick Durano

Предполагая, что ваш TextBox и DropDown элементы управления находятся вне GridView. Вот пример того, как добавить строки в GridView на основе значений управления сервером:

Aspx-файл

<asp:TextBox ID="TextBox1" runat="server"/>
<asp:TextBox ID="TextBox2" runat="server"/>
<asp:TextBox ID="TextBox3" runat="server"/>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<asp:GridView ID="GridView1" runat="server" >
</asp:GridView>


С ФОНОВЫМ КОДОМ:

//A method that will bind GridView based on the TextBox 
//values and retain its values on post backs.

private void BindGrid(int rowcount)
{
        DataTable dt = new DataTable();
        DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("TextBox1Column", typeof(String)));
        dt.Columns.Add(new System.Data.DataColumn("TextBox2Column", typeof(String)));
        dt.Columns.Add(new System.Data.DataColumn("TextBox3Column", typeof(String)));
 
        if (ViewState["CurrentData"] != null)
        {
            for (int i = 0; i < rowcount + 1; i++)
            {
                dt = (DataTable)ViewState["CurrentData"];
                if (dt.Rows.Count > 0)
                {
                    dr = dt.NewRow();
                    dr[0] = dt.Rows[0][0].ToString();
 
                }
            }
            dr = dt.NewRow();
            dr[0] = TextBox1.Text;
            dr[1] = TextBox2.Text;
            dr[2] = TextBox3.Text;
            dt.Rows.Add(dr);
 
        }
        else
        {
            dr = dt.NewRow();
            dr[0] = TextBox1.Text;
            dr[1] = TextBox2.Text;
            dr[2] = TextBox3.Text;
 
            dt.Rows.Add(dr);
 
        }
 
        // If ViewState has a data then use the value as the DataSource
        if (ViewState["CurrentData"] != null)
        {
            GridView1.DataSource = (DataTable)ViewState["CurrentData"];
            GridView1.DataBind();
        }
        else
        {
        // Bind GridView with the initial data assocaited in the DataTable
            GridView1.DataSource = dt;
            GridView1.DataBind();
 
        }
        // Store the DataTable in ViewState to retain the values
        ViewState["CurrentData"] = dt;
 
    }

 protected void Button1_Click(object sender, EventArgs e)
 {
        // Check if the ViewState has a data assoiciated within it. If
        if (ViewState["CurrentData"] != null)
        {
            DataTable dt = (DataTable)ViewState["CurrentData"];
            int count = dt.Rows.Count;
            BindGrid(count);
        }
        else
        {
            BindGrid(1);
        }
        TextBox1.Text = string.Empty;
 
        TextBox1.Focus();
}


Если ваши серверные элементы управления находятся в GridView и вы хотите динамически генерировать строки, то вот полный пошаговый пример, который я написал несколько лет назад: https://www.codeproject.com/Articles/1109899/Dynamically-Adding-and-Deleting-Rows-in-GridView-a