C#datagridview

记得VB-SP6里有个msflexgrid控件,C#中用datagridview控件?如何实现其对应功能?如新增一列(其他几列数据经过一系列操作后的结果数据),如何新增一行,等等...越详细越好,请不要发msdn里的[email protected].学会定再加分
谁有复杂点的datdagridview(C#)实例?譬如连接数据库
a b c
1 2 3
2 3 4
3 4 5
如何显示出来
个位 十位 百位 合计
1 2 3 6
2 3 4 9
3 4 5 12

普通数据显示:
string s = "server=.;database=[你的数据库名];uid=sa"
SqlConnection con = new SqlConnection(s);

//我是使用的存储过程。就是存储过程名字为list
SqlDataAdapter sda = new SqlDataAdapter("list",con);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;

DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;

新建表:
DataTable dt = new DataTable("table1");
ds.Tables.Add(dt);

列:
DataColumn dc = new DataColumn("uid", typeof(Int32));
ds.Tables["table1"].Columns.Add(dc);
DataColumn dc2 = new DataColumn("username", typeof(string));
ds.Tables["table1"].Columns.Add(dc2);
dataGridView1.DataSource = ds.Tables["table1"].DefaultView;
行:
DataRow dr = ds.Tables["table1"].NewRow();
dr["uid"] = 1;
dr["username"] = "user1";
ds.Tables["table1"].Rows.Add(dr);
dataGridView1.DataSource = ds.Tables["table1"].DefaultView;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-24
添加命名空间System.Data.SqlClient;
Load()事件里添加如下代码:
string s="server=.;database=数据库名;uid=sa";
SqlConnection con=new SqlConnection(s);
con.Open();

string sql="select a as 个位,b as 十位,c as 百位 ,sum(a+b+c) as 合计 from abc group by a,b,c";

SqlDataAdapter sda=new SqlDataAdapter(sql,con);
DataSet ds=new DataSet();
sda.Fill(ds);
dataGridView1.DataSource=ds.Tables[0].DefaultView;
第2个回答  2008-03-18
一般datagridview控件是和你的数据源绑定的,如一个ReSet。
而RS中的数据是以表格的形式存放的,你如果想加一列刚只要给这个表格添加一列,而加一行的话只要给表格添加一行数据再进行绑定就进了。
datagridview.sourse=ds.table[0]
第3个回答  2008-03-24
加行和加列
DataTable dt = new DataTable();
System.Type typeString = System.Type.GetType("System.String");
DataColumn dc1 = new DataColumn("BATCH_NO", typeString);
DataColumn dc2 = new DataColumn("BATCH_DESC", typeString);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
DataRow dr = dt.NewRow();
dr[0] = "%";
dr[1] = "全部";
dt.Rows.Add(dr);

数据绑定的
public void Bind()
{
DataTable dt = Test();
this.GridView1.DataSource = dt;
this.GridView1.DataBind();

}

public DataTable GetTable(string sql)
{
string constring = "server=(local);uid=sa;pwd=sa;database=rswTest;";
SqlConnection con = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();
return dt;
}
第4个回答  2008-03-18
我在C#里用VB的flexgrid,感觉比datagrid还简单点....
残念...

你详细研究下datagridview.rows和columns下的东西.
基本操作都在这两个地方
第5个回答  2008-03-18
要添加行,首先就要先有列。
然后就可以用this.dataGridView1.Rows.Add();
这样就可以添加新的一行。
但是这样添加的并没有数据,如果你要添加数据就可以这样
this.dataGridView1.Rows.Add("姓名","年龄","性别","爱好");
Add();里面的数据对应你的列就可以了。
这样有可以添加新行,有可以添加数据了。