100分求教 怎么直接用控件设置datagrid 显示数据

bc801 2006-11-17 10:57:07
100分求教 怎么直接用控件设置datagrid 显示数据
测试有效 马上结贴
自己直接拉SqlDataAdapter 配下去 生成dataset connection 拉datagrid绑定dataset 显示不出来 但是dataset里数据是正常的
...全文
270 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanzhihua520 2006-11-30
  • 打赏
  • 举报
回复
up
liujia_0421 2006-11-19
  • 打赏
  • 举报
回复
con.Open();//连接数据库
OleDbCommand com = new OleDbCommand(str, con);
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand = com;
DataSet ds = new DataSet();
oda.Fill(ds, "stu");
dataGridView1.DataSource = ds.Tables["stu"];
con.Close();
魔导师 2006-11-18
  • 打赏
  • 举报
回复
看你的dataset返回的是几个数据表,如果是一个,直接帮顶就可了,如果多个就要设置DataMember属性了.
bing_feng 2006-11-18
  • 打赏
  • 举报
回复

你先拖一个datagrid控件 设置它的属性生成器(也就是datagrid的属性) 设置他的列等
例如:你可以定义个方法() <连接数据库方法有多种>

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fei]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[fei]
GO

CREATE TABLE [dbo].[fei] (
[xm] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[kk] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[age] [int] NULL
) ON [PRIMARY]
GO


insert into fei values('张三','111',11);
insert into fei values('李四','222',22);
insert into fei values('张三1','111',11);
insert into fei values('李四1','222',22);
insert into fei values('张三2','111',11);
insert into fei values('李四2','222',22);
insert into fei values('张三3','111',11);
insert into fei values('李四3','222',22);

<appSettings >
<add key="ConnectionSqlServer" value="Server=(local);User id=sa;Pwd=;Database=Northwind"/>
</appSettings>

private string con="database=northwind;uid=sa;server=.;pwd= ";

private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack )
{
this.DataBinder ();
}
}

private void execute(string sql)
{
SqlConnection sn=new SqlConnection ();
sn .ConnectionString =con;
sn .Open ();
SqlCommand sc =new SqlCommand ();
sc .CommandText =sql;
sc.Connection =sn ;
sc.ExecuteNonQuery ();
sn .Close ();
}

public DataSet GetData(string sql)
{
System.Data .SqlClient.SqlDataAdapter sda=new SqlDataAdapter (sql,con);
DataSet ds=new DataSet ();
sda.Fill (ds);
return ds;
}

private void DataBinder()
{
DataSet ds=this.GetData ("select * from fei");
this.DataGrid1 .DataSource =ds.Tables [0] ;
this.DataGrid1 .DataBind ();
}
shoushii 2006-11-18
  • 打赏
  • 举报
回复
设置DataGrid.DataMember或直接使DataGrid.DataSource=DataSET
cpitandy 2006-11-18
  • 打赏
  • 举报
回复
this.sqlSelectCommand1.CommandText="select * from 表名";
this.sqlConnection1.Open();
this.sqlSelectCommand1.ExecuteReader();
this.sqlConnection1.Close();
this.sqlDataAdapter1.Fill(this.dataSet11);
kui1015 2006-11-18
  • 打赏
  • 举报
回复
string sql="";
SqlDataAdapter sda=new SqlDataAdapter(sql,con);
DataSet ds=new DataSet();
sda.Fill(ds, "table");
DataGrid.DataSource = ds.Tables["table"].DefaultView;
DataGrid.DataBind();
通用.
zhulei2008 2006-11-18
  • 打赏
  • 举报
回复
这个好说,你是拉过来的话,Page_Load()
中写上

DataAdapter名.Fill(你的DataSet,"表名");
DataGrid名.DataBind();

就搞定了阿,
如果你自己写的绑定的话,那也蛮好的:
实例化DataSet,DataAdapter,SqlConnection
con = new SqlConnection("连接字符串");
DataAdapter da = new DataAdapter("select语句",con);
DataSet ds = new DataSet();
adapter.Fill(ds, "数据库表名");
DataGrid名.DataSource = ds.Tables["数据库表名"].DefaultView;
DataGrid名.DataBind();

就OK了

zhang05044 2006-11-18
  • 打赏
  • 举报
回复
写详细点:1、建立查找的存储过程
CREATE PROCEDURE dt_Find
AS
select *from Employee(表名)
GO
2、三层架构(数据层,逻辑层,表示层)
3、再建一个函数
private void SetData()
{
EmpInfo m_Emp=new EmpInfo;
DataSet dSet=m_Emp.Find();

DataGrid.DataSource=dSet.Tables[0].DefaultView;
DataGrid.Bind();
}
4、在Form_Load写代码
if(!Page.IsPostBack)
{
SetData();
}

penglewen 2006-11-18
  • 打赏
  • 举报
回复
DataGrid.DataSource=dSet.Tables[0].DefaultView;
DataGrid.DataBind();
xray2005 2006-11-18
  • 打赏
  • 举报
回复
如果是WEBFORM的话:MyDataGrid(datagrid的名称)
DataSet ds=new DataSet();
SqlDataAdapter adapter =new SqlDataAdapter(“sql语句”, myConnection);
adapter.Fill(ds, "数据库表名");
MyDataGrid.DataSource = ds.Tables["数据库表名"].DefaultView;
MyDataGrid.DataBind();

如果是WINFORM的话:
MyDataGrid.DataSource = ds.Tables["数据库表名"];(一句就够了)
zhang05044 2006-11-18
  • 打赏
  • 举报
回复
DataGrid.DataSource=dSet.Tables[0].DefaultView;
jcyluck 2006-11-18
  • 打赏
  • 举报
回复
楼主还在用datagrid么?
现在应该用datagridview了,他是datagrid控件的升级版,能对datagrid兼容,而且功能更强。
具体的做法参照楼上,或者根本就不用dataset而用datatable

Datatable ds=new Datatable();
SqlDataAdapter adapter =new SqlDataAdapter(“sql语句”, myConnection);
adapter.Fill(ds);
datagridview.DataSource = ds;
acigarette 2006-11-18
  • 打赏
  • 举报
回复
DataGridView 中显示数据方法:
con.Open();//连接数据库省略
OleDbCommand com = new OleDbCommand(str, con);//操作数据库
OleDbDataAdapter oda = new OleDbDataAdapter();//
oda.SelectCommand = com;
DataSet ds = new DataSet();
oda.Fill(ds, "stu");
dataGridView1.DataSource = ds.Tables["stu"];
con.Close();
yao991118 2006-11-18
  • 打赏
  • 举报
回复
如果是WEBFORM的话:MyDataGrid(datagrid的名称)
DataSet ds=new DataSet();
SqlDataAdapter adapter =new SqlDataAdapter(“sql语句”, myConnection);
adapter.Fill(ds, "数据库表名");
MyDataGrid.DataSource = ds.Tables["数据库表名"].DefaultView;
MyDataGrid.DataBind();

如果是WINFORM的话:
MyDataGrid.DataSource = ds.Tables["数据库表名"];(一句就够了)
bc801 2006-11-18
  • 打赏
  • 举报
回复
DataGrid 问题已经解决
只需要加两句
this.SqlDataAdapter1.fill(this.dataset1);
this.DataGrid.setDataBinding();
DataGridView还是不行?大家试了成功的?
DataGridView没有setdatabinding方法啊
fish_yht 2006-11-17
  • 打赏
  • 举报
回复
DataGrid.DataMember = dataset.Tables[0];
DataGrid.DataBing();
jointan 2006-11-17
  • 打赏
  • 举报
回复
设置DataGrid.DataMember或直接使DataGrid.DataSource=DataTable;

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧