第一次玩C#,DataGridView绑定数据源,显示不出来,请解答,谢谢! datagridviewc# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最后还需要加上下面这句 this.dataGridView1.DataBind(); 没有 DataBind这个方法呢我是的winform 不是web的 谢谢! DataClass 我没用过 一般用的DataSet ds=new DataSet();将数据添加到ds里去dataGridView1.DataSource=ds.Tables[0]; 绑定的数据源应该是datatable,而不是List DataGridView每列都有一个DataPropertyName属性,你看看这个属性你绑定了吗,不绑定一般是不会显示数据的,这个属性需要你绑定Model中的属性或数据库中的列 可以绑定List,前提是DataClass类的属性名要跟你datagridview1的列名一致 用dataset吧,然后直接绑定到你的gridview上就行了。 我给你说一下原理:首先定义datagridview,看你的显示应该是定义没有问题。其次,你可以定义一个DataTable,这个DataTable用来获取数据库信息。给你写个例子: #region 初始化表格 //创建数据表 dataTable = new DataTable(); dataTable.TableName = "record"; //这里的表名,字段名,必须要和服务器端的一致 //dataTable.Columns.Add("Name", typeof(String)); //dataTable.Columns.Add("Sex", typeof(String)); //dataTable.Columns.Add("Nation", typeof(String)); //初始化绑定控件 bindingSource = new BindingSource(); bindingSource.DataSource = dataTable; //DataTableX.TableName = "Remote"; //DataSetX.Tables.Add(DataTableX); //RemoteBindingSource.DataSource = DataSetX; //RemoteBindingSource.DataMember = "Remote"; //初始化表格 MessageCheckdataGridView.AutoGenerateColumns = false; MessageCheckdataGridView.DataSource = bindingSource; //下面是添加列 TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Code";////获取或设置数据源属性的名称或与 DataGridViewColumn 绑定的数据库列的名称。 TextBoxColumnX.HeaderText = "村编码"; TextBoxColumnX.Name = "Code";//获取或设置列名 TextBoxColumnX.Width = 130; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Name"; TextBoxColumnX.HeaderText = "村名"; TextBoxColumnX.Name = "Name"; TextBoxColumnX.Width = 100; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "SendTime"; TextBoxColumnX.HeaderText = "发送时间"; TextBoxColumnX.Name = "SendTime"; TextBoxColumnX.Width = 180; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Title"; TextBoxColumnX.HeaderText = "标题"; TextBoxColumnX.Name = "Title"; TextBoxColumnX.Width = 180; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Status"; TextBoxColumnX.HeaderText = "状态"; TextBoxColumnX.Name = "Status"; TextBoxColumnX.Width = 100; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); buttonColumn = new DataGridViewButtonColumn(); buttonColumn.HeaderText = "操作"; // buttonColumn.Text = "审核"; //this.dataGridViewX1.Columns[5].DefaultCellStyle.NullValue = "删除"; buttonColumn.Width = 100; MessageCheckdataGridView.Columns.Add(buttonColumn); #endregion this.MessageCheckdataGridView.Columns[5].DefaultCellStyle.NullValue = "审核";然后去查数据库,将数据库中的信息记录到DataTable中,这个你可以以xml形式来进行保存。然后让DataTable再度xml。 dataTable.ReadXml(stringReader); bindingSource.ResetBindings(false); 我给你说一下原理:首先定义一个DataTable,这个DataTable用于存储数据库信息。你可以将数据库得到的信息以xml格式发送给DataTable。初始化表格可以类似定义: #region 初始化表格 //创建数据表 dataTable = new DataTable(); dataTable.TableName = "record"; //初始化绑定控件 bindingSource = new BindingSource(); bindingSource.DataSource = dataTable; //初始化表格 MessageCheckdataGridView.AutoGenerateColumns = false; MessageCheckdataGridView.DataSource = bindingSource; //下面是添加列 TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Code";////获取或设置数据源属性的名称或与 DataGridViewColumn 绑定的数据库列的名称。 TextBoxColumnX.HeaderText = "村编码"; TextBoxColumnX.Name = "Code";//获取或设置列名 TextBoxColumnX.Width = 130; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Name"; TextBoxColumnX.HeaderText = "村名"; TextBoxColumnX.Name = "Name"; TextBoxColumnX.Width = 100; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "SendTime"; TextBoxColumnX.HeaderText = "发送时间"; TextBoxColumnX.Name = "SendTime"; TextBoxColumnX.Width = 180; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Title"; TextBoxColumnX.HeaderText = "标题"; TextBoxColumnX.Name = "Title"; TextBoxColumnX.Width = 180; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn(); TextBoxColumnX.DataPropertyName = "Status"; TextBoxColumnX.HeaderText = "状态"; TextBoxColumnX.Name = "Status"; TextBoxColumnX.Width = 100; MessageCheckdataGridView.Columns.Add(TextBoxColumnX); buttonColumn = new DataGridViewButtonColumn(); buttonColumn.HeaderText = "操作"; // buttonColumn.Text = "审核"; //this.dataGridViewX1.Columns[5].DefaultCellStyle.NullValue = "删除"; buttonColumn.Width = 100; MessageCheckdataGridView.Columns.Add(buttonColumn); #endregion然后,可以将数据库查询结果以xml格式传递给DataTable,注:列DataPropertyName属性名称要和数据库相应字段名一致,否则无法创建与数据库的连接了就。然后都xml就是了: dataTable.ReadXml(stringReader); DataGridView绑定数据库显示数据示例 private void Form1_Load(object sender, EventArgs e) { SqlDataAdapter sda = new SqlDataAdapter(//创建SqlDataAdapter对象 "select * from tb_student", "server=WRET-MOSY7990FOT\\MRDLL;database=db_test;Trusted_Connection=true"); DataSet ds = new DataSet();//创建数据集DataSet对象 sda.Fill(ds);//调用SqlDataAdapter对象的Fill()方法填充数据集 dataGridView1.DataSource = ds.Tables[0];//将数据集绑定到DataGridView1控件 } 其实可以用List的,只是里面的属性字段值要和我定义的bean中的字段一致。 新手求教···谢谢时间 AT指令 短信平台开发的问题 2个form之间如何调用Combobox.text值? 桌面应用程序中,需要向服务器提交Http请求 连接字符串安全保存? 关于 dll ? 串口通信捕获“连接到系统上的设备未发挥作用”异常 求救,在C#中怎样通过ADO.net连接数据库?? 取一个日期变量的 前一天或者前两天的 日期,怎么处理? 请问下个这个xml格式如何解析 c# unity 3D 监视面板(Inspector) 为什么不显示类和成员啊 用js实现向邮箱发送验证码,并跳转
this.dataGridView1.DataBind();
我是的winform 不是web的 谢谢!
将数据添加到ds里去
dataGridView1.DataSource=ds.Tables[0];
首先定义datagridview,看你的显示应该是定义没有问题。
其次,你可以定义一个DataTable,这个DataTable用来获取数据库信息。
给你写个例子:
#region 初始化表格
//创建数据表
dataTable = new DataTable();
dataTable.TableName = "record"; //这里的表名,字段名,必须要和服务器端的一致
//dataTable.Columns.Add("Name", typeof(String));
//dataTable.Columns.Add("Sex", typeof(String));
//dataTable.Columns.Add("Nation", typeof(String)); //初始化绑定控件
bindingSource = new BindingSource();
bindingSource.DataSource = dataTable; //DataTableX.TableName = "Remote";
//DataSetX.Tables.Add(DataTableX);
//RemoteBindingSource.DataSource = DataSetX;
//RemoteBindingSource.DataMember = "Remote"; //初始化表格
MessageCheckdataGridView.AutoGenerateColumns = false;
MessageCheckdataGridView.DataSource = bindingSource;
//下面是添加列
TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Code";////获取或设置数据源属性的名称或与 DataGridViewColumn 绑定的数据库列的名称。
TextBoxColumnX.HeaderText = "村编码";
TextBoxColumnX.Name = "Code";//获取或设置列名
TextBoxColumnX.Width = 130;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Name";
TextBoxColumnX.HeaderText = "村名";
TextBoxColumnX.Name = "Name";
TextBoxColumnX.Width = 100;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "SendTime";
TextBoxColumnX.HeaderText = "发送时间";
TextBoxColumnX.Name = "SendTime";
TextBoxColumnX.Width = 180;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Title";
TextBoxColumnX.HeaderText = "标题";
TextBoxColumnX.Name = "Title";
TextBoxColumnX.Width = 180;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Status";
TextBoxColumnX.HeaderText = "状态";
TextBoxColumnX.Name = "Status";
TextBoxColumnX.Width = 100;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); buttonColumn = new DataGridViewButtonColumn();
buttonColumn.HeaderText = "操作";
// buttonColumn.Text = "审核";
//this.dataGridViewX1.Columns[5].DefaultCellStyle.NullValue = "删除";
buttonColumn.Width = 100;
MessageCheckdataGridView.Columns.Add(buttonColumn);
#endregion
this.MessageCheckdataGridView.Columns[5].DefaultCellStyle.NullValue = "审核";
然后去查数据库,将数据库中的信息记录到DataTable中,这个你可以以xml形式来进行保存。然后让DataTable再度xml。
dataTable.ReadXml(stringReader);
bindingSource.ResetBindings(false);
首先定义一个DataTable,这个DataTable用于存储数据库信息。你可以将数据库得到的信息以xml格式发送给DataTable。
初始化表格可以类似定义:
#region 初始化表格
//创建数据表
dataTable = new DataTable();
dataTable.TableName = "record"; //初始化绑定控件
bindingSource = new BindingSource();
bindingSource.DataSource = dataTable;
//初始化表格
MessageCheckdataGridView.AutoGenerateColumns = false;
MessageCheckdataGridView.DataSource = bindingSource;
//下面是添加列
TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Code";////获取或设置数据源属性的名称或与 DataGridViewColumn 绑定的数据库列的名称。
TextBoxColumnX.HeaderText = "村编码";
TextBoxColumnX.Name = "Code";//获取或设置列名
TextBoxColumnX.Width = 130;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Name";
TextBoxColumnX.HeaderText = "村名";
TextBoxColumnX.Name = "Name";
TextBoxColumnX.Width = 100;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "SendTime";
TextBoxColumnX.HeaderText = "发送时间";
TextBoxColumnX.Name = "SendTime";
TextBoxColumnX.Width = 180;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Title";
TextBoxColumnX.HeaderText = "标题";
TextBoxColumnX.Name = "Title";
TextBoxColumnX.Width = 180;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); TextBoxColumnX = new DataGridViewTextBoxColumn();
TextBoxColumnX.DataPropertyName = "Status";
TextBoxColumnX.HeaderText = "状态";
TextBoxColumnX.Name = "Status";
TextBoxColumnX.Width = 100;
MessageCheckdataGridView.Columns.Add(TextBoxColumnX); buttonColumn = new DataGridViewButtonColumn();
buttonColumn.HeaderText = "操作";
// buttonColumn.Text = "审核";
//this.dataGridViewX1.Columns[5].DefaultCellStyle.NullValue = "删除";
buttonColumn.Width = 100;
MessageCheckdataGridView.Columns.Add(buttonColumn);
#endregion然后,可以将数据库查询结果以xml格式传递给DataTable,注:列DataPropertyName属性名称要和数据库相应字段名一致,否则无法创建与数据库的连接了就。
然后都xml就是了:
dataTable.ReadXml(stringReader);
private void Form1_Load(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter(//创建SqlDataAdapter对象
"select * from tb_student",
"server=WRET-MOSY7990FOT\\MRDLL;database=db_test;Trusted_Connection=true");
DataSet ds = new DataSet();//创建数据集DataSet对象
sda.Fill(ds);//调用SqlDataAdapter对象的Fill()方法填充数据集
dataGridView1.DataSource = ds.Tables[0];//将数据集绑定到DataGridView1控件
}