我的背景是 ASP.Net,我被要求开发一个小型 Windows 应用程序。我尝试使用网格来呈现和选择数据,并且我认为 Windows 窗体中与 ASP.Net 的 GridView 等效的是 DataGridView。我还不确定是否是这种情况,基本上,在 ASP.Net 中,您有与网格关联的 _RowCommand 事件,该事件在单击 Commandbutton 后触发。我还注意到没有 DataKeyNames 属性之类的东西,所以我不知道如何将当前行键传递给单击的按钮。任何帮助将不胜感激,谢谢!
我忘了提及:我的网格有两个 DataGridViewButton 类型的列,而且我不知道需要编码以执行所选命令的事件
您正在寻找的事件是CellClick
事件 - 与DataGridViewButtonColumn
您实际上并不像将事件处理程序与表单上的其他按钮相关联一样将事件处理程序与特定按钮相关联。
根据单元格单击事件返回的事件参数,您可以计算出单击所在的行和列,以及您要执行的操作。
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewButton cell = (DataGridViewButtonCell)
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
// Any additional logic you want
}
然而除此之外,我认为退后一步思考 winforms 和 webforms 编码范例之间的差异确实会让您受益匪浅。
对于网络表单来说,很多编码方式都是由一切都是无状态这一事实决定的。 winform 的情况并非如此,您有状态,并且当您需要查找有关它们的信息时可以访问大多数控件。
因此,使用 winforms 检索 DataGridView 中当前选定的单元格等信息非常简单。
此外,在大多数情况下,使用 winform,您不需要特定的按钮来编辑或删除 - 您可以直接在网格中编辑,并使用内置的删除功能(选择行并按删除键)。
一个让你克服一些坎坷的好地方可能是DataGridView 常见问题解答 http://www.windowsclient.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc。这是学习 DataGridView 的绝佳资源
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)