【发布时间】:2017-05-24 09:58:13
【问题描述】:
我是 DataTables 的新手,我正在尝试访问与行和 colls 相对的单个单元格。我通过 findResult 插入了一组数据 这是来自现有的 web 服务。我现在正在尝试访问“Id”列,但是用户将单击的单个单元格。然后,我会将其存储在一个 var 中,以用于在类中进行进一步处理。
我已按如下方式填充了我的数据表:
DataTable ss = new DataTable();
ss.Columns.Add("ID");
ss.Columns.Add("Text");
ss.Columns.Add("Highlight");
ss.Columns.Add("Cursor");
ss.Columns.Add("Description");
ss.Columns.Add("Next");
DataRow row = ss.NewRow();
row["ID"] = findResults[0].Id;
row["Text"] = findResults[0].Text;
row["Highlight"] = findResults[0].Highlight;
row["Cursor"] = findResults[0].Cursor;
row["Description"] = findResults[0].Description;
row["Next"] = findResults[0].Next;
ss.Rows.Add(row);
if (txt_Search.Text.Length <= 2 || txt_Search.Text.Length >= 9)
{ MessageBox.Show("Please enter more than 2 Chars!!"); }
foreach (DataRow itemDrow in ss.Rows)
{
foreach (var item in findResults)
{
var num = dataGridView1.Rows.Add();
dataGridView1.Rows[num].Cells[0].Value = item.Id.ToString();
dataGridView1.Rows[num].Cells[1].Value = item.Text.ToString();
dataGridView1.Rows[num].Cells[2].Value = item.Highlight.ToString();
dataGridView1.Rows[num].Cells[3].Value = item.Cursor.ToString();
dataGridView1.Rows[num].Cells[4].Value = item.Description.ToString();
dataGridView1.Rows[num].Cells[5].Value = item.Next.ToString();
}
}
这就是我尝试实现点击事件的方式,但它只返回变量“ID”的第一行和第一列,而不是记录我点击了另一个单元格。
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
string value1 = row.Cells[0].Value.ToString();
string value2 = row.Cells[1].Value.ToString();
string SerachId = findResults[0].Id.ToString();
Console.WriteLine(SerachId);
//...
}
【问题讨论】:
标签: c# winforms collections datatable