C#中Winfrom开发双击DataGridView选中一行并取字段值

C#中Winfrom开发双击DataGridView选中一行并取字段值

在构造函数中入以下代码

DataGridViewHdhCms1.CellDoubleClick += new DataGridViewCellEventHandler(DataGridCell_DoubleClick);

然后再建立以下方法,即可看效果

private void DataGridCell_DoubleClick(object sender, DataGridViewCellEventArgs e)

{

    DataGridView.HitTestInfo hitTest=DataGridViewHdhCms1.HitTest(e.RowIndex, e.ColumnIndex);

    DataGridViewHdhCms1.ClearSelection();

    DataGridViewHdhCms1.Rows[e.RowIndex].Selected = true;

    DataGridViewRow dr = DataGridViewHdhCms1.SelectedRows[0];

    MessageBox.Show(dr.Cells[0].Value.ToString() + "===" + dr.Cells[1].Value.ToString() + "===" + dr.Cells[2].Value.ToString() + "===" + dr.Cells[3].Value.ToString());

}

C# WinForms中,DataGridView控件通常用于展示数据列表,支持复杂的交互功能,包括筛选。你可以通过以下步骤实现根据条件动态筛选数据: 1. **准备数据源**:首先,你需要有一个可以绑定到DataGridView的数据源,比如DataTable、List<T>或其他实现了ICollectionView接口的对象。 2. **设置列属性**:在DataGridView的Columns属性中,确保你想进行筛选的列设置了`DataPropertyName`属性,以便它可以连接到数据源的字段。 3. **事件处理**:当用户需要筛选时,你可以添加事件监听器,如`CellValueChanged`事件,来检测用户输入的筛选条件。例如: ```csharp private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == yourFilterColumnIndex) // 替换为你要筛选的列的索引 { ApplyFilter(); } } private void ApplyFilter() { string filterValue = dataGridView[e.ColumnIndex, e.RowIndex].Value.ToString(); // 获当前单元格的 // 根据filterValue生成筛选条件,比如 LINQ 查询 var query = from row in dataSource.AsEnumerable() // dataSource是你的数据源 where row[yourFilterColumn] == filterValue select row; // 清空现有的数据加载筛选后的数据 dataGridView.DataSource = null; dataGridView.DataSource = query.ToList(); } ``` 4. **消筛选**:如果你想让用户能清除筛选,可以在UI上提供一个“清除”按钮或者清空筛选逻辑的地方加入代码去恢复全部数据。 注意:以上代码示例假设你的数据源是一个`DataTable`,`yourFilterColumn`是你想要筛选的列名,`yourFilterColumnIndex`是该列在DataGridView中的索引。如果你使用的是其他数据结构,可能会有所差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HDHCMS(建网站+客户管理)系统

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值