
DataRowView SelectedElement = (DataRowView)DataGrid1SelectedItem;
string result = SelectedElementRow[0]ToString();
应该可以的。
在封装自定义组件的时候,看到很多类似表格的控件,表格中的数据都不是固定的,每个表格的表条和内容都不一样,如果直接在 xaml 文件中定义 DataGrid 的话,就显得很麻烦了,可以将期封装成一个动态生成的 DataGrid ,只需按照一定规则的数据格式,就可以生成表格。如下所示为封装后的一个动态表格:
首先来定义一个数据格式,数据格式相对比较简单,只需一个表头字段、内容字段、列宽字段。如下所示:
首先创建一个 UserControl ,然后在里面放入一个 DataGrid ,并设置样式,如下所示:
在 cs 文件中,添加一个方法,用于传递数据,并根据数据动态生成表格,如下所示:
创建好表格后,然后再需要地方通过如下方式进行引入:
然后在 loaded 事件中加入测试数据,来调用 loadData 方法动态添加表格信息,如下所示:
按以下步骤来做,就可以快速的创建一个自定义的动态表格了。
个人博客
,使用时需要先判断thisdataGridView1SelectedCellscount,不为0 在进行上面的 *** 作。
获取总行数:dataGridView1RowsCount;
获取当前选中行索引:int i = thisdataGridView1CurrentRowIndex;
获取当前选中列索引:int j = thisdataGridView1CurrentCellColumnIndex;
方法一:
thisdgvStuListSelectedRows[0]Cells["列"]ValueToString()
方法二:
dgvStuListRows[dgvStuListCurrentRowIndex]Cells["列名"]ValueToString()
/////////////////////////////////////////////////
点击已有数据行时只允许修改和删除,不可以添加,点击空白行时只运行添加,不允许删除和修改,那问题是如何来判断用户点击的是空白行呢,按钮是否可用的判断代码放在哪里呢?
解决方法:给datagrid添加mouse_enter事件
private void userInfo_MouseEnter(object sender,SystemEventArgs e) {
int row = userInfoCurrentCell RowNumber;
if(row == listSize) //list 是我用来存放数据表的对象集合, {
menuMenuItems[0]Enabled = true;
}
else
{
menuMenuItems[0]Enabled = false;
}
}
///////////////////////////////////////////////////////////
dataGrid1SelectedItem 是你dataGrid选中的行所代表的数据实体对象
可以用以下方式获取和设置该对象的属性
(dataGrid1SelectedItem as 实体对象)属性
不太明白你指的textbox是什么。默认表格中的数据都是在前台可以修改的。如果前台修改想改变绑定的数据源,那么只要设置双向绑定就行了。
以上就是关于wpf中如何获得dataGrid选中行的值全部的内容,包括:wpf中如何获得dataGrid选中行的值、WPF-动态生成DataGrid、winform中获取datagridview如何获取选中的行,返回值object等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)