一个关于DataGrid的难题 UP + 学习 + 接分UP + 学习 + 接分UP + 学习 + 接分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果这个列是唯一字段的话就好办了。您可以根据CurrentCell的值,通过datatable.select方法。过滤出这行来。这样这行的所有信息就可以得到了。 刚才看了下,winform下可以直接获得当前行所有的datagrid字段信息啊。 myTable = (DataTable) dataGrid1.DataSource; for(iRow = 0;iRow < myTable.Rows.Count ;iRow++) { for(iCol = 0;iCol < myTable.Columns.Count ;iCol++) { Console.WriteLine(myGrid[iRow, iCol]); } } 或者: for(iCol = 0;iCol < myTable.Columns.Count ;iCol++) { Console.WriteLine(myGrid[myGrid.CurrentRowIndex, iCol]); } 如果每一行有主键的话,用下面的代码可以实现。假设主键是第一列,索引为0。private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)//datagrid1中被单击时激发{ try { DataGridCell myCell; myCell = dataGrid1.CurrentCell; DataTable myTable; myTable = (DataTable) dataGrid1.DataSource; string str=myTable.Rows[myCell.RowNumber][0].ToString();//str值既为当前行第0列的值 } catch(Exception ez){}} 两个问题:1 (DataTable)dataGrid1.DataSource转换会出错2 myCell.RowNumber还是基于DataGrid显示的行的索引,如果用户点击ColumnHeader改变了排列顺序则得到的数据就不是期望的那一行了 1。看看你的dataGrid1.DataSource是不是dataset 2。使用这一行的主键啊。无论怎么排序变化,主键是没变的啊! 行里面加个ID自动,自动获得的,是唯一的,这不是挺好吗?无论怎么排序,ID都是唯一的,不过怎么知道点的是哪一行,这个就不知道了,我只知道用CheckBox的时候用循环找到钩选的CheckBox,我想你现在只要解决这个问题,这个问题就能解决了。 问题就在这儿,行里面是有个ID自动,但就是无法确定是哪一行.关于CheckBox的方法,我先试一下.谢谢. 关于DataSet更改数据库的问题,很奇怪 VS2005 iframe 失效!求解! 关于google的草图大师SketchUp 缩略图问题 怎么获取一个url的文本 sql 语句有错误帮忙改正啊! 如何监控一个已经打开的窗口是否已经关闭或隐藏 C#关于millimeter属性的画图问题 用splitter来隐藏pannel的问题 程序调试问题? 水晶报表的自定义公式字段问题,急急!!! 还是留言板中的问题,请各位asp.net的高手帮帮我(查看和回复留言) 有两个字符串:a="2005-02-12",b="2005-01-11",我想取得这两个日期相减等于几天,怎么做呢?
myTable = (DataTable) dataGrid1.DataSource;
for(iRow = 0;iRow < myTable.Rows.Count ;iRow++) {
for(iCol = 0;iCol < myTable.Columns.Count ;iCol++) {
Console.WriteLine(myGrid[iRow, iCol]);
}
}
或者:
for(iCol = 0;iCol < myTable.Columns.Count ;iCol++) {
Console.WriteLine(myGrid[myGrid.CurrentRowIndex, iCol]);
}
private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)//datagrid1中被单击时激发
{
try
{
DataGridCell myCell;
myCell = dataGrid1.CurrentCell;
DataTable myTable;
myTable = (DataTable) dataGrid1.DataSource;
string str=myTable.Rows[myCell.RowNumber][0].ToString();//str值既为当前行第0列的值
}
catch(Exception ez){}
}
1 (DataTable)dataGrid1.DataSource转换会出错
2 myCell.RowNumber还是基于DataGrid显示的行的索引,如果用户点击ColumnHeader改变了排列顺序则得到的数据就不是期望的那一行了
2。使用这一行的主键啊。无论怎么排序变化,主键是没变的啊!
关于CheckBox的方法,我先试一下.谢谢.