VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 989|回复: 4

怎么设置DataGridView中不显示列的值?请赐教!

[复制链接]

4

主题

12

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-1-17 16:20:01 | 显示全部楼层 |阅读模式
数据表:personlist,其中字段id为主键,groupid和name不能为空。
在数据源中把personlist托到form中,在DataGridView上显示name,不显示id和groupid。
F5后,新建一行记录后,提示groupid不能为空。
请教,我该怎样设置insertCommand.CommmandText中的@groupid值。
回复

使用道具 举报

0

主题

17

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2020-1-27 11:54:01 | 显示全部楼层
樓主綁定GridView之後,用代碼的方式來實現隱藏,這樣才可正常調用隱藏列的值
GridView1.Columns[1].Visible = false;
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-29 02:00:01 | 显示全部楼层
        private void changColumn()
                {
               
                                //创建一个DataTable对象,包括列                                DataTable dataTable = new DataTable ("FunctionArea");
                                string[] arrstrFunctionalArea = new string []{"No.","id","jsid","单位名称","姓名","岗位工资","薪级工资","保留工资","住房补助","补助工资","补充一","补充二","补充三","绩效工资","补差","电话费","节日补助","应领金额","住房公积金","伙食费","扣费一","扣费二","实领金额"};
                                DataColumn dtCol = null;
                                //创建String列
                                for(int i=0; i< arrstrFunctionalArea.Length;i++)
                                {
                                        dtCol = new DataColumn(arrstrFunctionalArea[i]);
                                        dtCol.DataType = Type.GetType("System.String");
                                        dtCol.DefaultValue = "";
                                        dataTable.Columns.Add(dtCol);
                                }

                        //把表绑定到DataGrid
                        dataGrid.DataSource = dataTable;
               
                        //为DataGrid加载DataGridTableStyle样式
                        if(!dataGrid.TableStyles.Contains("FunctionArea"))
                        {
                                DataGridTableStyle dgdtblStyle = new DataGridTableStyle();
                                dgdtblStyle.MappingName = dataTable.TableName;
                                dataGrid.TableStyles.Add(dgdtblStyle);
                                dgdtblStyle.RowHeadersVisible = false;
                                dgdtblStyle.HeaderBackColor = Color.LightSteelBlue;
                                dgdtblStyle.AllowSorting = false;
                                dgdtblStyle.HeaderBackColor = Color.FromArgb(8,36,107);
                                dgdtblStyle.RowHeadersVisible = false;
                                dgdtblStyle.HeaderForeColor = Color.White;
                                dgdtblStyle.HeaderFont = new System.Drawing.Font("Microsoft Sans Serif", 9F,
                                        System.Drawing.FontStyle.Bold,
                                        System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
                                dgdtblStyle.GridLineColor = Color.DarkGray;
                                dgdtblStyle.PreferredRowHeight = 22;
                                dataGrid.BackgroundColor = Color.White;
                                //设置列的宽度
                                GridColumnStylesCollection colStyle = dataGrid.TableStyles[0].GridColumnStyles;
                                colStyle[0].Width = 30;
                                colStyle[1].Width = 0;
                                colStyle[2].Width = 0;
                                colStyle[3].Width =70;
                                colStyle[4].Width = 35;
                for(int j=4;j<=22;j++)
                    colStyle[j].Width = 50;

                  DataTable dt=data.GetDataTable("select id as 序号,jsid as 单位编号,dpname as 单位名称,"
                                +"name as 姓名,gw as 岗位工资,xj as 薪级工资,bl as 保留工资,"
                                +"zf as 住房补助,bz as 补助工资,ba as 补充一,bb as 补充二,"
                                +"bc as 补充三,jx as 绩效工资,bch as 补差,dh as 电话费,"
                                +"jb as 节日补助,gw+xj+bl+zf+bz+ba+bb+bc+jx+bch+dh+jb as 应领金额,kzf as 住房公积金,khs as 伙食费,ka as 扣费一,"
                                +"kb as 扣费二,应领金额-kzf-khs-ka-kb as 实领金额 from ryinfo  ");
                                string s=dt.Rows[0][0].ToString();
                                for(int i=0;i<dt.Rows.Count;i++)
                                {       
                                DataRow myDataRow=dataTable.NewRow();
                myDataRow[0] = i+1;
                                for(int j=0;j<22;j++)
                                        myDataRow[j+1] = dt.Rows[i][j];
                                        dataTable.Rows.Add(myDataRow);
                                }
                        }
                }
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-29 05:54:01 | 显示全部楼层
我给你的代码 经过测试的。我也是刚弄完 呵呵
回复

使用道具 举报

4

主题

12

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
 楼主| 发表于 2020-4-28 16:45:01 | 显示全部楼层
楼上太麻烦了吧,我需要把DataGridView上不显示的groupid字段处理一下,给insertCommand.CommandText中的@groupid赋值就可以了。我现在是不知道怎么给@groupid赋值,我是建立的数据源DataSet,填充的DataGridView。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表