本文发表在 rolia.net 枫下论坛DataGrid.CurrentCell(x,y) 将返回DataGrid中x,y坐标的值,很方便,你可以用它来判断用户当前选中的是哪个格子,然后把这个格子的内容发送到剪贴板去。DataGrid 还有些高级用法,比如
DataGrid.HitTestInfo 都是很有用的知识,用来判断用户点击了DataGrid的哪个位置。
这些知识在MSDN中都有,楼主应该专心一些
假设你用DataGrid, 我写一段程序简单演示一下
private void Form1_Load(object sender, System.EventArgs e)
{
// 创建Table, 然后给Table中添数据,把这个Table邦定到DataGrid1
DataTable dt=new DataTable();
DataColumn dc=new DataColumn("id");
dt.Columns.Add(dc);
dc=new DataColumn("name");
dt.Columns.Add(dc);
dc=new DataColumn("telephoneNumber");
dt.Columns.Add(dc);
DataRow dr;
dr=dt.NewRow();
dr["id"]="001";
dr["name"]="Bush";
dr["telephoneNumber"]="1234";
dt.Rows.Add(dr);
dr=dt.NewRow();
dr["id"]="002";
dr["name"]="Canada";
dr["telephoneNumber"]="416";
dt.Rows.Add(dr);
dr=dt.NewRow();
dr["id"]="001";
dr["name"]="New Zealand";
dr["telephoneNumber"]="00456";
dt.Rows.Add(dr);
this.dataGrid1.DataSource=dt;
}
private void button1_Click(object sender, System.EventArgs e)
{
// 读取DataGrid1用户选择的行的数值
int x=this.dataGrid1.CurrentCell.RowNumber;
// 读取DataGrid1用户选择的列的数值
int y=this.dataGrid1.CurrentCell.ColumnNumber;
// 取出此行列的值
string message=this.dataGrid1[x,y].ToString();
// 发送到剪贴板,这一步非常简单
Clipboard.SetDataObject(message);
}更多精彩文章及讨论,请光临枫下论坛 rolia.net
DataGrid.HitTestInfo 都是很有用的知识,用来判断用户点击了DataGrid的哪个位置。
这些知识在MSDN中都有,楼主应该专心一些
假设你用DataGrid, 我写一段程序简单演示一下
private void Form1_Load(object sender, System.EventArgs e)
{
// 创建Table, 然后给Table中添数据,把这个Table邦定到DataGrid1
DataTable dt=new DataTable();
DataColumn dc=new DataColumn("id");
dt.Columns.Add(dc);
dc=new DataColumn("name");
dt.Columns.Add(dc);
dc=new DataColumn("telephoneNumber");
dt.Columns.Add(dc);
DataRow dr;
dr=dt.NewRow();
dr["id"]="001";
dr["name"]="Bush";
dr["telephoneNumber"]="1234";
dt.Rows.Add(dr);
dr=dt.NewRow();
dr["id"]="002";
dr["name"]="Canada";
dr["telephoneNumber"]="416";
dt.Rows.Add(dr);
dr=dt.NewRow();
dr["id"]="001";
dr["name"]="New Zealand";
dr["telephoneNumber"]="00456";
dt.Rows.Add(dr);
this.dataGrid1.DataSource=dt;
}
private void button1_Click(object sender, System.EventArgs e)
{
// 读取DataGrid1用户选择的行的数值
int x=this.dataGrid1.CurrentCell.RowNumber;
// 读取DataGrid1用户选择的列的数值
int y=this.dataGrid1.CurrentCell.ColumnNumber;
// 取出此行列的值
string message=this.dataGrid1[x,y].ToString();
// 发送到剪贴板,这一步非常简单
Clipboard.SetDataObject(message);
}更多精彩文章及讨论,请光临枫下论坛 rolia.net