C# 动态显示行

C# 动态显示行,c#,datagridview,datatable,datarow,C#,Datagridview,Datatable,Datarow,我想显示ms access数据库中的所有记录,但它只显示一条记录。。。 我有以下代码 private void Form1_Load(object sender, EventArgs e) { OleDbConnection con = new OleDbConnection(); con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and S

我想显示ms access数据库中的所有记录,但它只显示一条记录。。。 我有以下代码

private void Form1_Load(object sender, EventArgs e)
    {
        OleDbConnection con = new OleDbConnection();
        con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\mayur patil\\My Documents\\Dairy_db\\tblCompany.mdb";
        con.Open();
        OleDbDataAdapter da = new OleDbDataAdapter();
        DataSet ds = new DataSet();
        string sql = "SELECT * From tblCompany";

        da = new System.Data.OleDb.OleDbDataAdapter(sql, con);
        da.Fill(ds);
        DataRow dr = ds.Tables[0].Rows[0];
        int cnt = ds.Tables[0].Rows.Count;
        textBox1.Text = cnt.ToString();
        for (int i = 0; i < cnt; i++)
        {
            dataGridView1.Rows[i].Cells[0].Value = dr.ItemArray.GetValue(1).ToString();
            dataGridView1.Rows[i].Cells[1].Value = dr.ItemArray.GetValue(2).ToString();
        }


    }
private void Form1\u加载(对象发送方,事件参数e)
{
OleDbConnection con=新的OleDbConnection();
con.ConnectionString=“PROVIDER=Microsoft.Jet.OLEDB.4.0;数据源=C:\\Documents and Settings\\mayur patil\\My Documents\\Dairy\u db\\tblCompany.mdb”;
con.Open();
OleDbDataAdapter da=新的OleDbDataAdapter();
数据集ds=新数据集();
string sql=“从tblCompany中选择*”;
da=新的System.Data.OleDb.OleDbDataAdapter(sql,con);
da.填充(ds);
DataRow dr=ds.Tables[0]。行[0];
int cnt=ds.Tables[0].Rows.Count;
textBox1.Text=cnt.ToString();
对于(int i=0;i
如何在我的DataGridView中显示ms access数据库中的所有记录?

dataGridView1.Rows.Add(cnt);
dataGridView1.Rows.Add(cnt);
for (int i = 0; i < cnt; i++)
{
    DataRow row = ds.Tables[0].Rows[i];
    dataGridView1.Rows[i].Cells[0].Value = row.ItemArray.GetValue(0).ToString();
    dataGridView1.Rows[i].Cells[1].Value = row.ItemArray.GetValue(1).ToString();
}
对于(int i=0;i
dataGridView1.Rows.Add(cnt);
对于(int i=0;i
如果要直接访问gridview中的行和列,必须创建它们

 dataGridView1.Columns.Add("c1", "c1");
 dataGridView1.Columns.Add("c2", "c2");
 dataGridView1.Rows.Add(10);
将在网格中添加10个空行和2列,然后您可以用值填充它们

或者,您可以将数据集添加到控件

 dataGridView1.DataSource = ds.Tables[0]

将显示包含自动生成列的表,而无需设置gridview。

如果要直接访问gridview中的行和列,必须创建它们

 dataGridView1.Columns.Add("c1", "c1");
 dataGridView1.Columns.Add("c2", "c2");
 dataGridView1.Rows.Add(10);
将在网格中添加10个空行和2列,然后您可以用值填充它们

或者,您可以将数据集添加到控件

 dataGridView1.DataSource = ds.Tables[0]

将显示带有自动生成列的表,而无需设置gridview。

@Stecya;-“ArgumentsOutForRangeException已处理”出现错误…:(您的dataGridView可能没有足够的行或单元格在我的dataGridView中有两个单元格和一行,但在我的数据库中有4行我想在dataGridView中显示…:(为了显示所有行,dataGridView1必须有4行。使用
dataGridView1.rows.Add(cnt)
我应该在哪里设置“dataGridView1.rows.Add(cnt)”?@Stecya;-处理“ArgumentsOutRangeException”时出现错误…:(您的dataGridView可能没有足够的行或单元格在我的dataGridView中有两个单元格和一行,但在我的数据库中有4行我想在我的dataGridView中显示……:(为了显示所有行dataGridView1必须有这4行。使用
dataGridView1.rows.Add(cnt)
我应该在哪里设置“dataGridView1.rows.Add(cnt)”?我的数据库中有行,我想在我的datagridview中显示它,如何显示?在您的代码中,您已经将所有行加载到数据集中。您需要做的就是将gridview的datasource属性设置为数据集中的表。gridview控件应该自动处理它,如果不检查e gridview设置为true。我的数据库中有行,我不想在我的datagridview中显示这些行,如何显示?在您的代码中,您已经将所有行加载到数据集中。您需要做的就是将gridview的datasource属性设置为数据集中的表。gridview控件应该自动处理它,如果不检查AutoGenergridview的ateColumns属性设置为true。