Display Multiple selected rows from gridview to mu

2019-08-25 23:19发布

I want to get data from Datagridview to text boxes but i want every row i select should be show in multiple text boxes? I am doing it but it is only select one row and show in one text box but i want to get data of multiple rows to multiple Textboxes.

private void dataGridView_1CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) {
    // to set oem no to textfield particular.
    dataGridView1.Refresh();
    try {
        int i;
        i = dataGridView1.SelectedCells[0].RowIndex;
        Particular1Txt.Text = dataGridView1.Rows[i].Celles["OEM_No"].Value.ToString();
    }
    catch (Exception ex) {
        MessageBox.Show(es.Message);
    }    
}

1条回答
混吃等死
2楼-- · 2019-08-26 00:11

Well, this should work (not tested thoroughly):

VB:

    Dim TBlist As List(Of TextBox)
    TBlist.Add(Me.TextBox1)
    TBlist.Add(Me.TextBox2)
    TBlist.Add(Me.TextBox3)
    TBlist.Add(Me.TextBox4)
    TBlist.Add(Me.TextBox5)

    Dim mLimit As Int16 = Math.Min(Me.dgv.SelectedRows.Count - 1, TBlist.Count - 1)

    For ir = 0 To mLimit
        Dim tb As TextBox = DirectCast(TBlist.Item(ir), TextBox)
        tb.Text = Me.dgv.SelectedRows(ir).cells("RequiredCellName").value
    Next

Converted C#:

    List<TextBox> TBlist = default(List<TextBox>);
    TBlist.Add(this.TextBox1);
    TBlist.Add(this.TextBox2);
    TBlist.Add(this.TextBox3);
    TBlist.Add(this.TextBox4);
    TBlist.Add(this.TextBox5);

    Int16 mLimit = Math.Min(this.dgv.SelectedRows.Count - 1, TBlist.Count - 1);

    for (ir = 0; ir <= mLimit; ir++) {
        TextBox tb = (TextBox)TBlist.Item(ir);
        tb.Text = this.dgv.SelectedRows(ir).cells("RequiredCellName").value;
    }

It will use as many textboxes as inserted to the list of textboxes, or as many rows as selected, which ever is less.

查看更多
登录 后发表回答