如何在C# Windows应用程序中获取网格的列值?

3

如何在C# Windows应用程序中获取网格的列值?

当我单击单元格时,应该获取列值。

private void gridAgentDetails_Click(object sender, EventArgs e)
{
    for (int i = 0; i < this.gridAgentDetails.CurrentRowIndex; i++)
    {
        string str = gridAgentDetails.Text;
    }

}

你是在询问 System.Windows.Forms.DataGridView 吗? - Akram Shahda
@Akaram,我认为rams在WPF中使用DataGrid控件。这不是一个表单应用程序。 - KMC
4个回答

1

0
获取所选单元格的值,请按照以下代码操作。
int CNo = datagrid.CurrentCellAddress.Y;

int StNum = (int)datagrid.Rows[CNo].Cells[0].Value;

string StName = (string)datagrid.Rows[CNo].Cells[1].Value;

int MrksSecured = (int)datagrid.Rows[CNo].Cells[2].Value;

我在询问DataGridView而不是GridView。 - rams

0
尝试使用这个事件处理程序:[我尝试了这个,得到了结果]
    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        int rowIndex = e.RowIndex;
        int colIndex = e.ColumnIndex;
        MessageBox.Show(dataGridView1[colIndex, rowIndex].Value.ToString());
    }

我在询问 DataGridView 而非 GridView。 - rams
阅读本文一次,了解datagrid和gridView之间的区别:http://msdn.microsoft.com/en-us/library/05yye6k9.aspx - deepi

0

由于您在评论中提到使用了DataGrid,因此这是一个WPF应用程序,而不是一个表单应用程序。

WPF DataGrid控件是数据的可视化表示,您无法直接从DataGrid中读取特定单元格,因此您无法选择DataGrid上的特定行或列,除非将其绑定到数据源。

DataGrid旨在与DataTable一起使用。请参见this link以查看如何将DataGrid绑定到DataTable

然后,要读取DataGrid中的特定单元格值,您需要读取DataTable(例如dataTable1 [RowNumber] [ColumnName],其中RowNumber是int,ColumnName是字符串)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接