从数据库查询得到一个DataTable,现要在这个datatable上增加新列,列的标题为Count,新列的来源是一个string[]
解决方案 »
- .net中每次做一些改数据状态操作时候都要查询一下状态是否被改掉了吗
- 【session问题】session只能在根目录下的web.onfig中配置吗? 能不能在二级目录下配置啊?
- asp.net ajax出错
- 给个dataread 存储过程例子,谢谢~~
- 请教高手,关于服务器内存的问题
- 通过存储过程返回结果集的格式,谢谢
- 请教IIS问题
- OleDbDataAdapter与DataSet操作问题!
- 数据打包及iewebcontrols安装小结(同时请教一个问题)
- 这个错误,天啊,我找不到为什么。
- 出大问题了,SerialNumber1.sn=""。。。怎么办?坐等。
- 网站被攻击了,求asp.net过滤IP代码
/// <summary>
/// 构造用户信息细节表
/// </summary>
/// <returns></returns>
public static DataTable getAllDetail()
{
DataTable dt = new DataTable();
dt.Columns.Add("UID", typeof(System.Int32));//用户编号
dt.Columns.Add("UserName", typeof(System.String));//用户姓名
dt.Columns.Add("FileOver", typeof(System.Int32));//处理完的数量
dt.Columns.Add("FileUnDeal", typeof(System.Int32));//未处理的数量
dt.Columns.Add("FileDealing", typeof(System.Int32));//正在处理的数量
DataTable dtUsr = UserBLL.getAll();//用户列表
for (int i = 0; i < dtUsr.Rows.Count; i++)//这里处理
{
DataRow dr = dt.NewRow();
string UID = dtUsr.Rows[i]["UID"].ToString();
dr["UID"] = Convert.ToInt32(UID);
dr["UserName"] = dtUsr.Rows[i]["UserName"].ToString(); ;
dr["FileOver"] = RegFilesBLL.getTotalByUidProcess(UID, 10, 10);
dr["FileUnDeal"] = RegFilesBLL.getTotalByUidProcess(UID, 0, 0);
dr["FileDealing"] = RegFilesBLL.getTotalByUidProcess(UID, 1, 9);
dt.Rows.Add(dr);
}
return dt;
}//取关键代码
DataTable dt = getDataTable();
dt.Columns.Add(new DataColumn("A", typeof(String))); //循环赋值
DataTable table = new DataTable (); //创建table的第一列
DataColumn priceColumn = new DataColumn();
//该列的数据类型
priceColumn.DataType = System.Type.GetType("System.Decimal");
//该列得名称
priceColumn.ColumnName = "price";
table.Columns.Add(priceColumn);
DataTable dt = new DataTable();DataColumn col = new DataColumn("新列名");
dt.Columns.Add(col);for(int i=0;i< dt.Rows.Count;i++)
{
dr[i]["新列名"] = string数组[i]; //你说的数组。
}
private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("2");
for (int i = 0; i < 20; i++)
{
DataRow dr = dt.NewRow();
dr[0] = "111";
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
}
private void button1_Click(object sender, EventArgs e)
{
dt.Columns.Add("count");
string[] a = new string[20];
for (int i = 0; i < a.Length; i++)
{
a[i] = i.ToString();
}
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i][1] = a[i].ToString();
}
dataGridView1.DataSource = dt;
}
你看下是不是 已经存在名称为 Count 列了
if (!dt.Columns.Contains("Count"))
{
dt.Columns.Add("Count");
}
for (int i = 0; i < dt.Rows.Count; i++)
{
dr[i]["新列名"] = string数组[i]; //你说的数组。
}
无法将带 [] 的索引应用于“System.Data.DataTable”类型的表达式
if (!dt.Columns.Contains("Count"))
{
dt.Columns.Add("Count");
}
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["Count"] = str[i]; //你说的数组。
}