C# winform 中的datagridview为何不可以定制列的显示呢?

问题描述

C#winform中的datagridview为何不可以定制列的显示呢?sqlCmd.CommandText=sql;SqlDataAdapterada=newSqlDataAdapter();ada.SelectCommand=sqlCmd;DataTabledt=newDataTable();ada.Fill(dt);dataGridView1.DataSource=dt;//--下面加的这一段没有起作用,this.dataGridView1.Columns[0].HeaderText="编号";this.dataGridView1.Columns[0].Width=120;this.dataGridView1.Columns[0].DataPropertyName="BH";this.dataGridView1.Columns[1].HeaderText="名称";this.dataGridView1.Columns[1].Width=180;this.dataGridView1.Columns[1].DataPropertyName="BHName";我想让datagridview中的列内容由我自行控制显示,为何上面代码段中的后面增加部分没有起作用呢?请指点,谢谢!

解决方案

解决方案二:
this.dataGridView1.Columns[0].HeaderText="编号";dataGridView1.DataSource=dt;放在你增加的后面
解决方案三:
先后执行的问题
解决方案四:
引用1楼kongwei521的回复:

this.dataGridView1.Columns[0].HeaderText="编号";dataGridView1.DataSource=dt;放在你增加的后面

放在增加的后面会出错。不行
解决方案五:

解决方案六:
你自定义完了没有追加到列上面去dataGridView1.Columns.AddRange(newDataGridViewColumn[]{tbc});DisplayCol(dataGridView1,"BH","编号");DisplayCol(dataGridView1,"BHName","名称");///<summary>///Displaysthecol.///</summary>///<paramname="dgv">TheDGV.</param>///<paramname="dataPropertyName">Nameofthedataproperty.</param>///<paramname="headerText">Theheadertext.</param>voidDisplayCol(DataGridViewdgv,StringdataPropertyName,StringheaderText){dgv.AutoGenerateColumns=false;DataGridViewTextBoxColumntbc=newDataGridViewTextBoxColumn();tbc.DataPropertyName=dataPropertyName;tbc.HeaderText=headerText;tbc.Name=dataPropertyName;tbc.Resizable=DataGridViewTriState.True;tbc.Columns.AddRange(newDataGridViewColumn[]{tbc});}

解决方案七:
恩在定义dataview时要先写那些
解决方案八:
要么动态创建列,要么在在设计的是把列加上,然后控制显示也隐藏
解决方案九:
用这个属性:dataGridView1.Columns[0].FillWeight=50;

时间: 2024-08-15 20:13:22

C# winform 中的datagridview为何不可以定制列的显示呢?的相关文章

jquery-Java中使用datagridview,如何在操作列上调用我自己写的function函数?

问题描述 Java中使用datagridview,如何在操作列上调用我自己写的function函数? 问题描述:datagridview中的行都是使用jquery生成的.现在跟操作列上绑定单击时间的时候总是找不到我自己写的函数,请问有什么解决办法吗? 解决方案 这种问题你得学会调试.用IE F12,看你链接的地址对不对,是不是指向你的函数调用,这是第一,一般来说是href设置为#,onclick为你的函数,然后是你的函数有没有执行,如果执行了,单步调试. 解决方案二: 写function自定义函

c# winform表格标题行添加按钮控制表格列的显示

问题描述 如题,c#winform表格标题行添加按钮控制表格列的显示,效果如下图. 解决方案 解决方案二:可以通过在grid上放一个按钮实现了,但是直接找一个这样的控件.解决方案三:已经通过在grid上放一个按钮实现了,但是领导要求找一个这样的控件.解决方案四:引用2楼wzwdh1的回复: 已经通过在grid上放一个按钮实现了,但是领导要求找一个这样的控件. 那就用dev控件解决方案五:dev控件我找过了,没有找到这种类型的.ps:我用的dev版本是10.2.4解决方案六:用ContextMen

winform中的datagridview获取值问题

问题描述 我现在有个datagridview表,有A列,B列,C列.里面的值全部空的.在运行中的时候,我在A列输入个数,B列输入一个数,C列会立刻得出A+B,A*B的值.具体用什么方法,最好给整条代码. 解决方案 解决方案二:本帖最后由 bdmh 于 2015-01-06 16:36:41 编辑解决方案三:引用1楼bdmh的回复: 在CellValidating或CellValidated,或者CellEndEdit或CellValueChanged事件中处理 可以写代码出来吗?解决方案四:没人

在Winform中,DataGridView如何实现以下功能

问题描述 各位,如因将Combobox中选择的资料,添加到DataGridView 解决方案 解决方案二:各位,如因将Combobox中选择的资料,添加到DataGridViewDataGridview第一列是姓名(通过Combobox选择),第二列是工号,第三列是性别,第四列部门Combobox读取的是一个数据表.解决方案三:DataGridViewComboBoxColumn_ComboBoxName=newDataGridViewComboBoxColumn();_ComboBoxName

WinForm中的DataGridView问题,高手帮帮忙?

问题描述 通过绑定后数据经过查询更新原DataSet应如何更新.//查询按扭button4_Click点击事件privatevoidbutton4_Click(objectsender,EventArgse){Stringname=textBox1.Text;if(!name.Equals("姓名")&&name!=null&&!name.Equals("")){MessageBox.Show(name);//this.employe

WinForm中DataGridView折叠控件【超好看】_实用技巧

刚到一家新公司,领导下发任务要用cs系统做一个表格折叠显示,这真是把我难倒了,自己工作6年一直以来都是做BS的系统.这如果在BS里面那太简单了,JqGrid默认都自带,可是DataGridview不支持折叠啊.自己一点经验没有,怎么办呢?于是上网搜了相关视频,资料,开始学习起来.最后借鉴源码封了这么一个东西,发出来分享下,也能让自己加深印象. 首先不多说,上图.如果大家感谢还不错,请继续往下阅读: 大概的效果就是这样. 上代码. 1.首先重写DataGridview,代码如下: public c

winform中datagridview字段颜色

问题描述 winform中dataGridView显示出所有数据其中一列数据为"是否完成"如果这列的此字段为"是",单元格显示为绿色"否",单元格显示为红色.此功能如何完成?谢谢大家~~给下代码看看~~ 解决方案 解决方案二:代码没有,思路就是你先遍历那一列单元格的值然后if判断根据判断加上下面这句话dataGridView1.Rows[i].Cells[j].Style.BackColor=red://这个是着色i表示第几行,j表示列,后面颜色

Winform中DataGridView对原对象修改后,如何取消找回原对象?

问题描述 我建了一个Class,代码如下:classPeople{privatestringname;publicstringName{get{returnthis.name;}set{this.name=value;}}}然后我有一个Peoples类classPeoples{privateList<People>peoples;publicList<People>Peoples{get{returnthis.peoples;}}}然后我把这个peoples实例绑定到Winform

Winform中DataGridView绑定IList数据源后的排序的控件

Winform中DataGridView绑定IList数据源后的排序的控件 也是从网上看到的方法,我封装好了 使用方法: 使用方法: IList<Model> aaa = new List<Model>();aaa = Getr();dataGridView1.DataSource = new ZiZhuDi.IListdataGridViewSort.BindingCollection<Model>(aaa); 下载地址:http://download.csdn.ne