1
Answer

How to convert Gridview to datatable in asp.net c#?

Raja

Raja

7y
2.3k
1
i have upload one excel file and convert into datatable and bind the datatable in gridview.
i have one button click to add new row in grid view. i want get old data into datatable and adding new row how to do it.
 
i have used below codes to get grid view to data table but this is not working.that codes add only new row old rows are remove or hided.
 
 sample1
 
DataTable gridTable = (DataTable) dataGrid1.DataSource; 
 
sample 2
 
BindingSource bs = (BindingSource)dgrid.DataSource; // Se convierte el DataSource 
DataTable tCxC = (DataTable) bs.DataSource;

sample 3

DataTable dt = new DataTable();
for (int i = 0; i < GridView1.Columns.Count; i++)
{
dt
.Columns.Add("column"+i.ToString());
}
foreach (GridViewRow row in GridView1.Rows)
{
DataRow dr = dt.NewRow();
for(int j = 0;j<GridView1.Columns.Count;j++)
{
dr
["column" + j.ToString()] = row.Cells[j].Text;
} dt.Rows.Add(dr);
}
C#
 
Answers (1)
0
Khan Abrar Ahmed

Khan Abrar Ahmed

NA 5.8k 199.9k 10y
Hi you can try this code
private void Form1_Load(object sender, EventArgs e)
{
OleDbConnection connect = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\Anas\Dropbox\C# Projects\2.Database\ClOsODb.accdb; Persist Security Info=False");
connect.Open();
string cmd = "select * from Course Number and Name";
OleDbDataAdapter adapter = new OleDbDataAdapter(new OleDbCommand(strSql, connect));
 DataSet ds = new DataSet();
adapter.Fill(ds);

course_Number_and_NameComboBox.DataSource = ds.Tables[0];
course_Number_and_NameComboBox.DisplayMember = "Course Number and Name";
course_Number_and_NameComboBox.ValueMember = "ID";
connect.Close();
}
0
Anas Tasadduq

Anas Tasadduq

NA 3 4.8k 10y
But I am using C#, not VB. Sorry I did not mention it in the question.
0
Khan Abrar Ahmed

Khan Abrar Ahmed

NA 5.8k 199.9k 10y
Hi you can try below code
Dim cn As New OleDbConnection("provider=Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\Users\Anas\Dropbox\C# Projects\2.Database\ClOsODb.accdb")
   Dim da As New OleDbDataAdapter()
   Dim dt As New DataTable()
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      cn.Open()
      da.SelectCommand = New OleDbCommand("select * from [course Number and Name]", cn)
      da.Fill(dt)
 
      ComboBox1.DataSource = dt
      ComboBox1.DisplayMember = "Course Number and Name";
      ComboBox1.ValueMember = "ID";
 
      ' or this way
      ComboBox1.Items.Clear()
      Dim r As DataRow
      For Each r In dt.Rows
         ComboBox1.Items.Add(r(1).ToString)
      Next
      cn.Close()
   End Sub