社区
C#
帖子详情
(高分求救)winform下,datagrid在点击单元格时,如何让此单元格为不选中状态。
lorylovenn
2005-02-16 10:05:44
是这样的,我想左键点击选中一行,但是总是先选中一个单元格,并且此单元格先选中(为edit状态),我不想让它为edit状态。有何方法吗,谢谢大家了~
...全文
115
8
打赏
收藏
(高分求救)winform下,datagrid在点击单元格时,如何让此单元格为不选中状态。
是这样的,我想左键点击选中一行,但是总是先选中一个单元格,并且此单元格先选中(为edit状态),我不想让它为edit状态。有何方法吗,谢谢大家了~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lorylovenn
2005-02-16
打赏
举报
回复
linlinunix(铁匠)
用您说的方法的话,不能解决单元格的问题
我已经按照 hbxtlhx(踏雪寻岩)的代码 做到了~
谢谢各位了,马上结分~
linlinunix
2005-02-16
打赏
举报
回复
简单办法
增加 selectchange事件
datagrid.select(datagride.currentcell.rowindex);
代码不一定正确 但是 用这个思想没有问题 比较简单
lorylovenn
2005-02-16
打赏
举报
回复
谢了~呵呵
lorylovenn
2005-02-16
打赏
举报
回复
to : hbxtlhx(踏雪寻岩)
如何重写System.Windows.Forms.DataGridTextBoxColumn,能举个例子吗?
hedonister
2005-02-16
打赏
举报
回复
楼上的有道理
北京的雾霾天
2005-02-16
打赏
举报
回复
我有一段代码你可以参考一下:
public class TextColumnStyle : System.Windows.Forms.DataGridTextBoxColumn
{
private int nSelectedRowIndex;
public TextColumnStyle()
{
//
// TODO: 在此处添加构造函数逻辑
//
nSelectedRowIndex = -1;
}
protected override void Edit(CurrencyManager source, int rowNum, Rectangle bounds, bool readOnly, string instantText, bool cellIsVisible)
{
if (this.DataGridTableStyle.DataGrid.ReadOnly)
{
if(nSelectedRowIndex> -1 && nSelectedRowIndex< source.List.Count + 1)
{
this.DataGridTableStyle.DataGrid.UnSelect(nSelectedRowIndex);
}
this.DataGridTableStyle.DataGrid.Select(rowNum);
nSelectedRowIndex= rowNum;
}
else
{
base.Edit (source, rowNum, bounds, readOnly, instantText, cellIsVisible);
}
}
}
DataGridTableStyle tableStyle =null;
public void SetListDataEX(DataView dvw)
{
if (tableStyle==null)
{
tableStyle = new DataGridTableStyle();
tableStyle.MappingName =dvw.Table.TableName;
int numCols = dvw.Table.Columns.Count;
TextColumnStyle textColumn;
for (int i=0;i<dvw.Table.Columns.Count;i++)
{
textColumn = new TextColumnStyle((CurrencyManager)this.dataGrid1.BindingContext[dvw]);
textColumn.ReadOnly=false;
textColumn.NullText="";
textColumn.HeaderText = dvw.Table.Columns[i].Caption;
textColumn.MappingName = dvw.Table.Columns[i].ColumnName;
tableStyle.GridColumnStyles.Add(textColumn);
}
tableStyle.AllowSorting=false;
//tableStyle.RowHeadersVisible=false;
this.dataGrid1.TableStyles.Clear();
this.dataGrid1.TableStyles.Add(tableStyle);
}
this.dataGrid1.BeginInit();
this.dataGrid1.SetDataBinding(dvw,null);
this.dataGrid1.EndInit();
dvw.AllowDelete=true;
dvw.AllowEdit=true;
}
北京的雾霾天
2005-02-16
打赏
举报
回复
你要重写DataGrid的列来达到这个要求.比如重写如下这个类:
System.Windows.Forms.DataGridTextBoxColumn,
然后把这样的列加到一个新的DataGridTableStyle里来写制一个DataGrid.
liulxmooo
2005-02-16
打赏
举报
回复
up
198个经典C#
WinForm
实例源码 超赞的完整版
"198个经典C#
WinForm
实例源码"包括: 1-窗体技巧 2-控件操作 3-图像操作 4-报表打印 5-系统操作 6-文件处理 7-网络操作 8-数据库操作 9-加密解密 10-硬件读写 11-游戏设计 "超赞的198个经典C#
WinForm
实例源码.zip " ...
C#
winform
双击
dataGrid
当中的
单元格
cell,复制
单元格
cell的内容
winform
双击
dataGrid
单元格
,复制
单元格
的内容到黏贴板
在
winform
中
DataGrid
中实现
点击
任一
单元格
都
选中
当前行
在
winform
中
DataGrid
中实现
点击
任一
单元格
都
选中
当前行先需要重写一个方法:C#: internal class
DataGrid
NoActiveCellColumn : System.Windows.Forms.
DataGrid
TextBoxColumn { //重载...
datagrid
wpf 获取
选中
_c# WPF
DataGrid
获取
选中
单元格
信息
jqgrid cellEdit为true的
时
候,默认
选中
单元格
值的解决方案 jqgrid cellEdit为true的
时
候,
点击
单元格
的
时
候,鼠标在
单元格
最前面闪. 这
时
候如果要修改数字内容,非常麻烦.要全选
单元格
内容,不然不好改.
点击
单元格
的...
C# 如何让
DataGrid
选中
一行,而不是
单元格
如何让
DataGrid
选中
一行,而不是
单元格
C#
110,571
社区成员
642,565
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章