3

Gridview 单元格通过循环和在 gridview 单元格上设置的值自动添加

 int txt1 = Convert.ToInt32(textBox1.Text);
 int txt2 = Convert.ToInt32(textBox2.Text);

 for (int i = txt1; i < txt2 + 1; i++)
 {
      MessageBox.Show(""+i);
      for (int j = 0; j < dataGridView1.Rows.Count+1; j++)
      {
         dataGridView1.Rows[j].Cells["id"].Value = i.ToString();
      }
 }
 private void Form1_Load(object sender, EventArgs e)
 {
     this.dataGridView1.Columns.Add("id", "ID");
 }

我正在尝试这样检查此链接。

图片链接点击这里看看我在尝试什么

4

2 回答 2

2

不需要第一个循环,为什么要这样做?

您只需要添加行,而不是列,因此您必须执行以下操作:

 table.Rows.Clear(); //to ensure the table does not contains any rows
 table.Rows.Add(txt2-txt1);
 int i = txt1;
  for (int j = 0; j < dataGridView1.Rows.Count; j++)
      {
         dataGridView1.Rows[j].Cells["id"].Value = i.ToString();
         i++;
      }
于 2013-06-17T07:30:08.323 回答
0
public DataTable GetData()
{
  int txt1 = Convert.ToInt32(textBox1.Text);
  int txt2 = Convert.ToInt32(textBox2.Text);
  DataTable dt = new DataTable();
  dt.Columns.Add("RollNo");
  dt.Columns.Add("TotalRolls");
  dt.Columns.Add("RollsFrom");
  dt.Columns.Add("RollsTo");

  for (int i = txt1; i < txt2 + 1; i++)
  {
      object[] row = { i, (txt2 - txt2), txt1, txt2};
      dt.Rows.Add(row);            
  }
  return dt;
}

在搜索按钮单击等时在您的cs文件中执行此操作。

gridView.DataSource = GetData();
gridView.DataBind();
于 2013-06-17T07:23:45.787 回答