C#中能不能用datagridview显示文件的内容?不用数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中能不能用datagridview显示文件的内容?不用数据库相关的知识,希望对你有一定的参考价值。

datagridview是绑定控件,文件内容数据被绑定后是可以显示并可以通过代码进行修改。
绑定指的是数据库,XML,或者把值赋给DATATABLE,LIST<>等这些数据类型,在绑定到datagridview控件上那么都是可以显示的。
如果你是想在datagridview的模板中自定义添加控件并手动赋值的话,是无法显示的,这个是绑定控件的一个特性,数据必须是绑定的,如无绑定数据则无法显示内容。
比如datagridview的ID是grid,那么后台获得数据后赋给datagridview的数据源,grid.DataSource=获得的数据;然后grid.Bind();
还有一种绑定方式:通过控件属性
在DataGridview的DataSource属性中选择“添加项目数据源”,弹出“数据源配置”窗体,根据你数据库的路径选择绑定的数据表即可。
如果没有使用这2种方式中的任意一种方式进行绑定,那么数据是无法显示的。
参考技术A DataGridView和数据库没有什么必然的联系,虽然不知道你为什么要用DataGridView来显示文件的内容,我觉得是可以的,无非就是几个步骤,用代码完成就是了:
1、设置控件的外观;
DataGridView dgv=new DataGridView();
dgv.BackguoundColor=Color.FormArgb(255,255,255);
........
2、设置列标题,行标题;
dgv.EnableHeadeersVisualStyles=false;
dgv.ColumnHeadersDefaultCellStyle.Font=new Font("微软雅黑",10F);
........
3、设置列的格式,添加列;
DataGridViewCellStyle style=new DataGridViewCellStyle();
style.Alignment=DataGridViewContentAlignment.MiddleCenter;
........
4、取得数据,根据需要在控件中添加对应的行;
if(lsInfo!=null&&lsInfo.Count>0) //lsInfo就是List<数据>

dgv.Rows.Add(lsInfo.Count);

5、填充数据到控件中;
for(int i=0;i<lsInfo.Count;i++)

dgv.Row[i].Cell[0].Value=lsInfo[i].XXX; //填充第一列的数据
dgv.Row[i].Cell[1].Value=lsInfo[i].XXX; //填充第二列的数据
…………

代码写得很简单,举例而己,有需要再交流本回答被提问者采纳
参考技术B datagridview 是做显示的,他显示的是你放在内存中的datatable。
数据库和文件他们是数据存储的
他们没有啥必然的关系,只要你能把数据放到datatable中,就可以显示到datagridview中
参考技术C 那就需要对文件进行读取然后绑定到datagridview上,是可以的 参考技术D 把要读的文件放到一个新的datatable中 赋给datagridview

WPF中能把不是表格类型的数据用DataGridView控件以多行多列的方式显示出来吗?

使用C#,希望能说说大体的思路

参考技术A 可以。
重写View中Item的式样。
参考技术B 列绑定实体类的属性就可以了本回答被提问者采纳

以上是关于C#中能不能用datagridview显示文件的内容?不用数据库的主要内容,如果未能解决你的问题,请参考以下文章

WPF中能把不是表格类型的数据用DataGridView控件以多行多列的方式显示出来吗?

c# datagridview 显示行数

c# winform datagridview首次加载默认显示的问题

请教一下,C#,我现在用datagridview中某一单元格操作另一个datagridview,请问思路是怎样的呢?

c# winform splitcontainer中datagridview滚动条不能显示,求解答~

.Net C# DataGridView设置标题为中文