在我的代码中,我有2个列表框和1个datagridview。我想将listbox1数据获取到datagridview1 column0,将listbox2数据获取到datagridview column1?
foreach (var item in listBox1.Items)
{
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = item;
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1].Value = listBox2.Items;
}
答案 0 :(得分:3)
试试这个:
dataGridView1.AutoGenerateColumns = false;
dataGridView1.Rows.Clear();
listBox1.Items.Add("1");
listBox1.Items.Add("2");
listBox1.Items.Add("3");
dataGridView1.Columns.Add("First","First");
foreach (var item in listBox1.Items)
{
int idx = dataGridView1.Rows.Add();
dataGridView1.Rows[idx].Cells["First"].Value = item;
}
示例输出:
答案 1 :(得分:2)
item
表示存储在ListBox中的项目。因此,如果您想获取所选值的值并在数据网格中显示它,那么:
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = listBox1.SelectedItems[0].ToString();
将第一个选定项目的值转换为网格。
答案 2 :(得分:0)
创建一个包含所需列的数据表并将其绑定到gridview。
DataTable dt = new DataTable();
dt.Columns.Add("Column1",typeof(datatype));//column 0
dt.Columns.Add("Column2",typeof(datattype));//column 1
if(ListBox1.Items.Count == ListBox2.Items.Count)
{
for (int i = 0; i < ListBox1.Items.Count; i++)
{
dt.Rows.Add(ListBox1.Items[i].Text, ListBox2.Items[i].Text);
}
dataGridView1.DataSource = dt;
dataGridView1.DataBind();
}