C# winform DataGridView控件DataSource 绑定一个表后修改cell值的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform DataGridView控件DataSource 绑定一个表后修改cell值的问题相关的知识,希望对你有一定的参考价值。
我从数据库中取一个表放到DataTable中,使用DataSource进行绑定后,
某一列是int类型的 我怎么修改这个类型呢?我想赋值string类型的值 总报"agsdgs"不是有效的Int32值
DataGridView.Rows[0].Cells[0].value="agsdgs";
这个value的类型是objectint
我数据库表中有一列性别是int类型 存放数值 1 0 也就是男或女
从数据库将这个表读出来 放入DataTable中
使用DataSource=DataTable这个表
这列的类型是 DataGridViewTextBoxColumn
绑定完后 我修改这列的 DataGridView.Rows[i].Cells[0].Value = "男";
这样会报错 “男”不是有效的int32值
我将DataGridView.Rows[i].Cells[0].DataType = typeof(string);后 也是不行的
我查看DataGridView.Rows[i].Cells[0].Value的类型是 objectint类型
我怎么能将string类型赋值给这个 DataGridViewTextBoxCell呢???
string str = DataGridView.Rows[i].Cells[0].Value;//定义str用来接收你在性别列所填写的值
//然后用switch语句进行判断
switch(str)
case "男": //如果是男,就用1代替男加进去
case "女"://如果是女,就用0代替女加进去
default:break;
参考技术B 这样看行不行
首先你定义一个Datatable,这个Table的列你自己定义 是数字类型的就用数字类型,是字符串的用字符串,是日期的用日期类型,DataType不用我教吧?然后再把你查出来的数据绑给这个DataTable,最后把DataTable赋给DataGridView。这样就不会报类型错误了。 参考技术C 你到数据库里把列的数据类型改成string型,这样不管你往数据库里更新字符还是数字都ok了。
抱歉怎么在C#里改我还不会。 参考技术D 你前面不是用1.0来代替男女吗?那 DataGridView.Rows[i].Cells[0].Value = "男";不就应该是 DataGridView.Rows[i].Cells[0].Value = 1应该就可以了吧?
winform中的DataGridView如何实现分页(C#)
能跟讲讲实现思路吗 不要代码
常用分页一般有两种一是在数据库写存储过程,或利用sql语句,每次只取出N条数据。
二是将数据一次性全取出来,然后利用程序来进行分页。
第一种在数据量比较大的时候性能好点。
希望你能明白。 参考技术A 这个要添加 DataGridView 控件的功能
写一个“用户控件”,继承DataGridView
public partial class UserControl1 : DataGridView
然后再添加一些翻页的方法 参考技术B 应该在后台就实现分页。DataGridView显示分页数据就可以了。 参考技术C http://www.cnblogs.com/sayu115/archive/2007/10/12/922115.html 参考技术D 你可以再视图下面放按钮,上一页下一页这些,然后放lable用于显示当前页和总页数也方便以后获取当前页数
方法一:查询出所有数据,获取你数据源的总行数,然后用你的总行数除以一行显示的数量, 得出的就是你的总页数
第一次进入当前页肯定是1在绑定数据数据时根据当前页和行数从你的数据源中取值,然后将取出的数据绑定你的DataGridView
在点击下一页或者上一页这些时++或--你的当前页,当然最后一页和第一页的时要进行判断的,否则就要出错了
方法二:写一个存储过程,传入当前页和每页行数,sql和oracle等数据库都有标识列,以此作为条件,只取出一部分数据绑定到DataGridView中,每一次点击按钮时,调用该存储过程获取数据,优势是在大数据量时查询效率比第一种方法效率高,并且在数据结构发生改变时方便维护,可以只修改存储过程
以上是关于C# winform DataGridView控件DataSource 绑定一个表后修改cell值的问题的主要内容,如果未能解决你的问题,请参考以下文章
c# winform datagridview怎么能达到如图的效果
C# winform DataGridView控件DataSource 绑定一个表后修改cell值的问题
C# winform中dataGridView控件如何插入、删除、更新记录,操作完成后怎样写回数并保存据库,怎么写代码?