datagridview 控制某个单元格只可以输入数字。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了datagridview 控制某个单元格只可以输入数字。相关的知识,希望对你有一定的参考价值。

参考技术A private void dgvDetail_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)

uint digitCell = 0; // 这里需要无符号数字
dgvDetail.Rows[e.RowIndex].ErrorText = string.Empty; // 先把错误提示清空
if (dgvDetail.Columns[e.ColumnIndex].DataPropertyName == "")
// 如果本列为用户手工编辑列
if (e.ColumnIndex == dgvDetail.Columns[CGlobal.T_COL_INV_AMOUNT].Index)
// 指定特定列
if (!uint.TryParse(e.FormattedValue.ToString(), out digitCell))
// 如果不是uint
dgvDetail.Rows[e.RowIndex].ErrorText = "数量输入有误!";
e.Cancel = true; // 不能通过验证



参考技术B 这个是不行的!datagridview这个控件是很强大的,强大到你用这个控件很简单,什么都有!但是他的局限性也很大,不灵活,很多特殊点的功能会没有!就像你说的控制某个单元格只可以输入数字,这是不行的,datagridview 这个控件已经被固定了,是无法更改的!如果你想要实现控制某个单元格只可以输入数字可以用Repeater控件来实现,这个控件可以做到和datagridview这个控件一样的效果,也更灵活! 参考技术C 下面这个看看能不能帮到你。

参考资料:http://zhidao.baidu.com/question/162173076.html

如何实现dataGridView中点击某个单元后,自动选中整列

我设置了SelectionMode为ColumnHeadSelect或者FullColumnSelect后,总是弹出错误,错误如下:“当DataGridView控件有一个列的SortMode设置为DataGridViewColumnSortMode.Automatic时,不能将该控件的SelectionMode设置为ColumnHeaderSekect”,求解啊,有代码更好~

一个DataGridView控件的列选中如果数据是死的话,就是程序运行前DataSource已经绑定的话,只要吧SelectionMode
设置为ColumnHeaderSelect就好了,但是如果是动态的话,这样做是不行的,会抛出SortMode不能为automaic(自动的)的异常。那么下面这个函数就解决了这个问题。还有要吧datagridview的selectionMOde设置为RowHeaderSelet才行。
public void setDataGridView(DataTable
dt)

dataView.DataSource =
dt;
int
count =
dataView.Columns.Count;
for (int i = 0; i < count;
i++)

dataView.Columns[i].SortMode =
DataGridViewColumnSortMode.Programmatic;

dataView.SelectionMode =
DataGridViewSelectionMode.ColumnHeaderSelect;
参考技术A 将SelectionMode
设置为FullRowSelect追问

我要选中整列,不是行。

追答

那就不知道了

参考技术B 我去试试。。。

以上是关于datagridview 控制某个单元格只可以输入数字。的主要内容,如果未能解决你的问题,请参考以下文章

c# dataGridView当前单元格中的某个函数

如何让datagridview单元格只能输入数字 C#

datagridview 单击某个单元格选中一行

UITableView 滚动到最后一个单元格只显示一半的单元格

DataGridView使用技巧十一:DataGridView用户输入时,单元格输入值的设定

如何实现dataGridView中点击某个单元后,自动选中整列