1

forループで列セルにtextBoxを追加したい...

私のコード:

DataTable dt = new DataTable();

DataColumn dc;
dc = new DataColumn("No");
dt.Columns.Add(dc);
dc = new DataColumn("Item");
dt.Columns.Add(dc);
dc = new DataColumn("Available Stock");
dt.Columns.Add(dc);
dc = new DataColumn("Quantity");
dt.Columns.Add(dc);
dc = new DataColumn("Price");
dt.Columns.Add(dc);

// Define  rows
for (int i = 0; i < count; i++)
{
    string no = dtr.Rows[i][0].ToString();
    string item = dtr.Rows[i][2].ToString() + " " + dtr.Rows[i][1].ToString();
    string A_qty = dtr.Rows[i][3].ToString();
    string price = dtr.Rows[i][4].ToString();

    dt.Rows.Add(no, item, A_qty,"[i want to add text box here] " ,price);        
}

dataGridView1.DataSource = dt;

textBoxes を 4 列目に追加し、1 つずつアクセスしたい。

4

2 に答える 2

2

代わりに textBox 列を DataGridView に追加し、DataGridView を次のようにループできます。

DataTable dt=new DataTable();

dt.Columns.Add("No",typeof(int));

dt.Columns.Add("Item",typeof(string));

dt.Columns.Add("quantity",typeof(int));

dt.Columns.Add("Price",typeof(decimal));

//Add row to the datatable

for (int i = 0; i < count; i++)
{

//Not Sure what dtr is you looping through

    string no = dtr.Rows[i][0].ToString();
    string item = dtr.Rows[i][1].ToString() + " " + dtr.Rows[i][1].ToString();
    string A_qty = dtr.Rows[i][2].ToString();
    string price = dtr.Rows[i][3].ToString();

    dt.Rows.Add(no, item, A_qty, price);        
}


//Create New DataGridViewTextBoxColumn
DataGridViewTextBoxColumn textboxColumn=new DataGridViewTextBoxColumn();

//Bind DataGridView to Datasource
dataGridView1.datasource=dt;

//Add TextBoxColumn dynamically to DataGridView
 dataGridView1.Columns.Add(textboxColumn);

//Loop through DataGridView
 foreach (DataGridViewRow row in dataGridView1.Rows)

{

     //Do your task here
      string fourthColumn = row.Cells[4].Value.toString();

   }
于 2014-03-19T01:42:49.570 に答える
0

わからない。しかし、このコードがお役に立てば幸いです。タイプ textbox の列をデータテーブルに追加するだけです。

DataTable table = new DataTable();
DataColumn col = new DataColumn("Name", typeof(TextBoxBase));
table.Columns.Add(col);
于 2013-11-07T13:17:04.257 に答える