在WINFORM里动态添加列
string colName = dt_Comp.Rows[i]["COMPANY_NAME"].toString();
dataTable.Columns.Add(new DataColumn(colName, Type.GetType("System.String")));
列名是从数据库里读的字段,
现在我想在动态添加的列里面显示出SQL查询出来的值,就是把值加进动态生成的列里面,请问该如何做呢?
string colName = dt_Comp.Rows[i]["COMPANY_NAME"].toString();
dataTable.Columns.Add(new DataColumn(colName, Type.GetType("System.String")));
列名是从数据库里读的字段,
现在我想在动态添加的列里面显示出SQL查询出来的值,就是把值加进动态生成的列里面,请问该如何做呢?
你可以这样做
System.Web.UI.WebControls.BoundColumn bocolumnDLName = new BoundColumn();
bocolumnDLName.HeaderText = "列表名称";
bocolumnDLName.DataField = "IDName";
MyList.Columns.AddAt(MyList.Columns.Count,bocolumnDLName);
dataTable.Columns.Add(new DataColumn(colName, Type.GetType("System.String")));
// 修改第一行,新生成列的值
dataTable.Rows[0]["COMPANY_NAME"] = "新加入的值";
改一下
dataTable.Rows[0]["colname"] = "新加入的值";
string colName = dt_Comp.Rows[i]["COMPANY_NAME"].toString();
dataTable.Columns.Add(new DataColumn(colName, Type.GetType("System.String")));
// 修改第一行,新生成列的值
dataTable.Rows[0][colName] = "新加入的值";
dataTable.Rows[0][dt_Comp.Rows[i]["COMPANY_NAME"].toString()] = "新加入的值"
但是‘新加入的值’是要从SQL里查询出来的~。怎么弄也。。我不会。。C#初学。请各位指点下
--------------------
你先把从SQL查询出来的值赋给1个变量,然后在用上面的代码把变量的值付给dataTable.Rows[0][colName]
{
dataTable.Rows[0][colName] = row["CONTRACT_COUNT"]; }
这种方法+的,但始终是+的最后1条数据
还有个问题,就是。动态添加列的时候,由于是用的COMPANY_NAME来添加,如果数据库里有2条
COMPANY_NAME值是一样的,那添加就会因为列名1样而报错,该如何判断1下呢?
还有个问题,就是。动态添加列的时候,由于是用的COMPANY_NAME来添加,如果数据库里有2条
COMPANY_NAME值是一样的,那添加就会因为列名1样而报错,该如何判断1下呢?string colName = dt_Comp.Rows[i]["COMPANY_NAME"].toString();
// 判断,当没有这个列的时候才添加列
if (!dataTable.Columns.Contains(colName))
dataTable.Columns.Add(new DataColumn(colName, Type.GetType("System.String")));
{
dataTable.Rows[0][colName] = row["CONTRACT_COUNT"];}
-----------------------
如果你的dataTable和dt_Comp的行数是一样多的话就这样:for(int k=0;k<dt_Comp.Rows.Count;k++)
{
dataTable.Rows[k][colName] = dt_Comp.Rows[k]["CONTRACT_COUNT"];
}