在MFC中使用listctrl控件,要修改某行某列的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MFC中使用listctrl控件,要修改某行某列的值相关的知识,希望对你有一定的参考价值。

在MFC中使用listctrl控件,如果要修改某行某列的值,要怎么弄~比如说要修改第2行第二列的那一项,应该使用哪些函数呢,怎么实现~

CListCtrl::SetItemText
BOOL SetItemText(int nItem,int nSubItem,LPTSTR
lpszText)
返回值:如果成功,则返回非零值,否则为0。
参数:
nItem
要设定文本项的索引值。

nSubItem
子项的索引,若为零,则设置项标签。

lpszText 指向包含新项文本字符串的指针。
说明:改变列表视图项或子项的文本。追问

改变项文本的思路是什么呢~

参考技术A SetItemText(1,1,"What Do You want");

wpf中怎么定位到某行某列的的checkbox上,我要写checkbox的选中事件。在线等可Q聊,懂这个才来。

参考技术A 我不确定楼主所说的某行某列是指Grid还是Datagrid中的模板列。不管是上述的哪个其实都可以按我以下的思路来做。
checkbox对应一个数据项。你可以设置checkbox的Tag属性绑定这个数据项。
<CheckBox Tag="Binding yourdataItem"/>
这样 如果你在前台有N个CheckBox ,那只有在后台通过判断CheckBox 的tag值来确定你要处理的是哪个数据实体或者是哪个CheckBox 的了。追问

嗯我已经看到帖子了,不过这种方式的灵活性不高。也就是个鸡肋,具体解决方案以后再来研究。http://blog.csdn.net/sanjiawan/article/details/6785394

追答

datagird中每行其实都绑定了一个数据实体
你可以在后台获取到CheckBox.datacontext 。它就是那个你操作的实体。如果你要很好灵活度,你可以使用mvvm框架做。非常方便的。

参考技术B (sender as CheckEdit).IsChecked;
WPF object srvId = gcRecvSrvData.GetFocusedRowCellValue("RECVSRVID");
GridControl的
参考技术C CheckBox的选中事件就是Checked。至于定位,我很想知道你说的某行某列指的是什么?是Grid中的行列,还是DataGrid中的行列,又或者是DataGridCheckBoxColumn这种没有Checked事件的列?追问

DataGrid的行列

追答

DataGrid.CurrentCell属性可以获取具有焦点的单元格。其类型为DataGridCellInfo结构,有两个属性:
DataGridCellInfo.Column:获取包含单元格的列。
DataGridCellInfo.Item:获取与包含此单元格的行的数据项。
不知道对你有没有帮助。

参考技术D 飘过... 第5个回答  2012-11-16 你的数据是在datagrid中的吗?

以上是关于在MFC中使用listctrl控件,要修改某行某列的值的主要内容,如果未能解决你的问题,请参考以下文章

Datatable中的某行某列能不能添加一个下拉框的控件

页面载入时通过获取GridView某行某列的值来控制某一列的控件属性

在wpf中怎么获取datagrid某行某列的值啊?急!跪求!

C# 读取Excel模板 修改某行某列的值 另存为新的Excel

python怎么实现修改文本中某行某列的数值为固定值

MFC的list control控件,如何得到某一行某列的字符串内容?