call to .net Ответов: 3

как я могу добавить новую строку в datatable


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

protected void btnAdd_Click(object sender, EventArgs e)
       {
           double a, b;
           a = double.Parse(txtqty.Text);
           b = a * double.Parse(LblRate1.Text);
           txtAmount.Text = b.ToString();

           DataTable dt;
           DataRow dr;
           if (GridView1.Rows.Count > 0)
           {
               dt = (DataTable)GridView1.DataSource;
           }
           else
           {
               dt = new DataTable();
           }

           dt.Columns.Add("Product_Name");
           dt.Columns.Add("Product_Quantity");
           dt.Columns.Add("Product_Amount");

           dr = dt.NewRow();

           dr["Product_Name"] = DropDownList1.SelectedItem.Text;
           dr["Product_Quantity"] = txtqty.Text;
           dr["Product_Amount"] = txtAmount.Text;
           dt.Rows.Add(dr);


           GridView1.DataSource = dt;
           GridView1.DataBind();
       }


каким будет код для добавления новой строки.

Hiren solanki

То как вы добавили новую строку это я думаю сам ответ

3 Ответов

Рейтинг:
0

VICK

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




DataTable dt = new DataTable();
dt.Columns.Add("Column1");
dt.Columns.Add("Column2");
DataRow row = dt.NewRow();
row["Column1"] = "Hello";
row["Column2"] = "Hello2";

dt.Rows.Add(row);

DataRow row2 = dt.NewRow();
dt.Rows.Add(row2);



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

и следующий код успешно добавляет две одновременные строки в datatable.

DataTable dt = new DataTable();
    dt.Columns.Add("Column1");
    dt.Columns.Add("Column2");
    DataRow row = dt.NewRow();
    row["Column1"] = "Hello";
    row["Column2"] = "Hello2";

    dt.Rows.Add(row);

    DataRow row2 = dt.NewRow();
    row2[0] = "Row2-Col1";
    row2[1] = "Row2-Col2";
    dt.Rows.Add(row2);

Надеюсь, это поможет. :)


Рейтинг:
0

call to .net

Здесь я не обращаюсь к записям из базы данных.
я помещаю входные данные из front end means from textbox, и сначала я хочу, чтобы все эти записи поступали в datatable, а затем сохранялись в базе данных.

Al-Farooque Shubho

Это не имеет значения. Все, что вам нужно, это добавить новую строку в DataTable, а затем сохранить набор данных, как показано в данной ссылке.
То есть:

Строка DataRow = EmployeeTable.Невров();
строка["FirstName"] = txtFirstName.Текст;
строка["фамилия"] = txtLastName.Текст;
EmployeeTable.Rows.Add(строка);

// Update data adapter, это фактически вставит новую строку в базу данных
адаптер.Обновление(ds, "сотрудник");

Я бы посоветовал вам изучить основы использования набора данных, а также надеюсь, что вы пересмотрите голосование за ответ. Следующая ссылка может вам помочь:

http://msdn.microsoft.com/en-us/library/aa984437%28v=VS.71%29.aspx

Рейтинг:
0

Member 8797035

DataTable dt = new DataTable();
 DataRow dr=null;
protected void Page_Load(object sender, EventArgs e)
{
 dt.Columns.Add("Product_Name");
            dt.Columns.Add("Product_Quantity");
            dt.Columns.Add("Product_Amount");
}

protected void btnAdd_Click(object sender, EventArgs e)
{
if (ViewState["table"] != null)
{
dt = (DataTable)ViewState["table"];
}
double a, b;
a = double.Parse(txtqty.Text);
b = a * double.Parse(LblRate1.Text);
txtAmount.Text = b.ToString();
 
 if (ViewState["table"] != null)
            {
                dt = (DataTable)ViewState["table"];
            }
            dr = dt.NewRow();
            dr["Product_Name"] = DropDownList1.SelectedItem.Text;
            dr["Product_Quantity"] = txtqty.Text;
            dr["Product_Amount"] = txtAmount.Text;
            dt.Rows.Add(dr);
            ViewState["table"] = dt;

            GridView1.DataSource = dt;
            GridView1.DataBind();
} 


Надеюсь, что itz отлично работает в соответствии с вашим требованием...каждый раз, когда мы должны назначить datatable в viewstate для хранения данных на стороне клиента, потому что каждый запрос сервера он будет создавать новый объект для datatable с поддержкой ключевого слова "new"..Надеюсь, он будет благоприятным...
около
Aswin(Swathi Group)


Tom Marvolo Riddle

Нить очень старая.Пожалуйста, не отвечайте за старые темы.

VICK

Ой, я сделал то же самое(опубликовал решение), просто увидев это в активных вопросах и не глядя на дату. Ну, надеюсь, это кому-нибудь поможет.