我现在做一个WinForm程序,我已经通过SQL语句把需要的字段查出来并能添加相应的列名在一个自定义的DataTable里,再将DataTable赋给一个窗体中的Datagridview能成功显示出来。
  问题是我现在的需求是:添加一个列名:数量(数据库里没有该字段和数据),数量为1.特别注意的是假如我显示了5行数据,则数量也要显示5行“1”。
  最好是在我自定义中的DataTable里写代码,不要用SQL语句。
万分感谢!

解决方案 »

  1.   


                DataTable dt = new DataTable();
                dt.Columns.Add("A");
                dt.Columns.Add("B", typeof(Int32), "count(A)");
                dt.Rows.Add("1111");
                dt.Rows.Add("1111");
                dt.Rows.Add("1111");
      

  2.   

                DataTable dt = new DataTable();
                DataColumn dc = new DataColumn("新列");
                dt.Columns.Add(dc);
                foreach (DataRow dr in dt.Rows)
                {
                    dr["新列"] = 1;
                }
      

  3.   

    DataTable有一个列的集团,你Add一个就好了
      

  4.   

    如果你一定要那么做,自己添加一个列后,循环遍历每一行对该列赋值,显然没有在SQL里直接添加一个列来得方便。
      

  5.   

    Dim dt As System.Data.DataTable = New System.Data.DataTable
            dt.Columns.Add(New System.Data.DataColumn("数量", System.Type.GetType("System.Int32"), "1"))
    不知道可行,上面是用vb.net语言写的,想要c#的转换一下就行了。
      

  6.   


    DataColumn workColumn = workTable.Columns.Add(
        "数量", typeof(Int32));
    workColumn.AutoIncrement = true;
    workColumn.AutoIncrementSeed = 1;
    workColumn.AutoIncrementStep = 0;新增一列数量,设置为自动增长类型,从1开始每次增长0个。
      

  7.   


    private DataTable getDateTable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("ID", typeof(Int32)));
            dt.Columns.Add(new DataColumn("Name", typeof(String)));
            DataRow dr = dt.NewRow();
            dr[0] = 1;
            dr[1] = "消";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = 2;
            dr[1] = "里";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = 3;
            dr[1] = "网";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = 4;
            dr[1] = "涨";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = 5;
            dr[1] = "刘";
            dt.Rows.Add(dr);
            return dt;
        }
        protected void btn_Click(object sender, EventArgs e)
        {
            DataTable dt = getDateTable();
            dt.Columns.Add(new DataColumn("数量", typeof(String)));
               
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["数量"] = "1";
            }
            
        }
      

  8.   


        DataColumn priceColumn = new DataColumn();
        priceColumn.DataType = System.Type.GetType("System.Decimal");
        priceColumn.ColumnName = "数量";
        priceColumn.DefaultValue = 1;//默认值 1刚发现,直接设置DefaultValue 属性就可以了
      

  9.   


    建议在sql里直接加一列就行了,窗体上也行:
    DataTable dt = new DataTable();
    dt.Columns.Add("quantity", typeof(Int32));
    dt.Columns["quantity"].DefaultValue = 1;接下来再做 dt 数据源填充
      

  10.   

                DataTable dt = new DataTable();
                DataColumn dc = new DataColumn("新列");
                dt.Columns.Add(dc);
                dc.DefaultValue = 1;
      

  11.   

    实在不会就先用 DataSet 数据集,加一个数据集然后 往上面拖表 然后 用它的 GetData(...); Update(...)这些方法,慢慢在熟悉吧。