为什么我的DataGrid取不出数据? 你应该制定数据源是dataset1的TabledataGrid1.SetDataBinding(dataset1,"表名"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可能忘设置dataGrid1的属性了!你还必须设置dataGrid1的DataMember值(即数据集中的表)在设置dataGrid1的TableStyles的值(即表中的列)这样应该行了! 谢谢!我为TableStyles添加了dataGridTableStyles1,以为dataGridTableStyles1添加了GridclumnStyles,运行还是没有数据我用的是SQLSERVER2000的PUBS的authors表, to abcdefg2817我加了编译通不过呀private void Form1_Load(object sender, System.EventArgs e){ sqlDataAdapter1.Fill(dataSet11);} 还要在后面加上sqlDataAdapter1.Fill(dataSet11);DataGrid1.DataBind(); 加 DataGrid1.DataBind(); 出现如下提示:D:\project\c#test\test\Form1.cs(282): “System.Windows.Forms.DataGrid”并不包含对“DataBind”的定义 你的应用是winform,不能像webform那么简单的绑定。你需要定义DataGridTableStyle,DataGridTextBoxColumn,给你一个我得例子//清空数据窗口显示风格 datagrid_bgjj.TableStyles.Clear() ; string dg_cond; DataSet dg_ds = new DataSet(); dg_cond = "select * from bgjj_table where ssbm =" + lv_nodenum ; lv_bgjj.Visible = false ; SqlDataAdapter dg_sqldataAdapter = new SqlDataAdapter(dg_cond ,sqlConnection1); try { sqlConnection1.Open(); dg_sqldataAdapter.Fill(dg_ds,"bgjj"); } finally { sqlConnection1.Close(); } //绑定数据源 datagrid_bgjj.DataSource = dg_ds.Tables["bgjj"].DefaultView; //设置显示风格 DataGridTableStyle dgts = new DataGridTableStyle(); dgts.MappingName = "bgjj" ; dgts.ReadOnly = false ; DataGridTextBoxColumn aColumnTextColumn ; int rowcount; rowcount = dg_ds.Tables["bgjj"].Columns.Count; DataSet ds_columnlabel; for (int i = 0; i < rowcount;i++) { //获取中文列名 ds_columnlabel = new DataSet(); SqlDataAdapter columnlabel_sqldataAdapter = new SqlDataAdapter("select pbc_labl,g_visible from sys_lantop where pbc_cnam ='" + dg_ds.Tables["bgjj"].Columns[i].ColumnName + "' order by g_no " ,sqlConnection1); try { sqlConnection1.Open(); columnlabel_sqldataAdapter.Fill(ds_columnlabel,"columnlabel"); } finally { sqlConnection1.Close(); } aColumnTextColumn = new DataGridTextBoxColumn(); aColumnTextColumn.MappingName = dg_ds.Tables["bgjj"].Columns[i].ColumnName;//绑定列 aColumnTextColumn.NullText = "空";//空字符处理 aColumnTextColumn.HeaderText = ds_columnlabel.Tables[0].Rows[0]["pbc_labl"].ToString();//设置列名 aColumnTextColumn.TextBox.ReadOnly = true; aColumnTextColumn.TextBox.WordWrap = true; aColumnTextColumn.TextBox.AutoSize = true;//让列宽根据数据内容自适应调整 dgts.PreferredColumnWidth = aColumnTextColumn.TextBox.Width; if (dg_ds.Tables["bgjj"].Columns[i].ColumnName == "dwlabel") { dgts.PreferredColumnWidth = 150; } if( int.Parse(ds_columnlabel.Tables[0].Rows[0]["g_visible"].ToString().Trim()) == 0) { dgts.PreferredColumnWidth = 0; } dgts.AlternatingBackColor = Color.LightGray;//设定交替行的背景色 dgts.GridColumnStyles.Add(aColumnTextColumn); } //自定义列宽 // dgts.PreferredColumnWidth = 100; //隐藏列 // dgts.PreferredColumnWidth = 0; datagrid_bgjj.TableStyles.Add(dgts); datagrid_bgjj.Visible = true ; lv_bgjj.Visible = false ; 在你的程序里面应当是sqlDataAdapter1.Fill(dataSet1);其中()中的dataSet1就是你使用的DataSet名称 http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#Top get set问题 window.showModalDialog回传参数问题 如何取数字的个位数!!!在线等待急!!!!!! 求救啊!~~~ 救命 各位老师帮帮忙 求教关于剪贴板功能的使用 学vb和c#碰到的2个简单问题。高手来拿分咯 引用的定义简单问题(赶快进来抢分啊!) axwebbrowser 打开链接后获取地址问题 如何用C#编写一个添加本地文件的程序? 异步?? datagrid中如何自动实现数据的自动分行??? 如何得到DataGrid或DataSet的SQL语句?
你还必须设置dataGrid1的DataMember值(即数据集中的表)
在设置dataGrid1的TableStyles的值(即表中的列)
这样应该行了!
我加了编译通不过呀
private void Form1_Load(object sender, System.EventArgs e)
{
sqlDataAdapter1.Fill(dataSet11);
}
还要在后面加上
sqlDataAdapter1.Fill(dataSet11);
DataGrid1.DataBind();
出现如下提示:
D:\project\c#test\test\Form1.cs(282): “System.Windows.Forms.DataGrid”并不包含对“DataBind”的定义
你需要定义DataGridTableStyle,DataGridTextBoxColumn,给你一个我得例子
//清空数据窗口显示风格
datagrid_bgjj.TableStyles.Clear() ;
string dg_cond;
DataSet dg_ds = new DataSet();
dg_cond = "select * from bgjj_table where ssbm =" + lv_nodenum ;
lv_bgjj.Visible = false ;
SqlDataAdapter dg_sqldataAdapter = new SqlDataAdapter(dg_cond ,sqlConnection1);
try
{
sqlConnection1.Open();
dg_sqldataAdapter.Fill(dg_ds,"bgjj");
}
finally
{
sqlConnection1.Close();
}
//绑定数据源
datagrid_bgjj.DataSource = dg_ds.Tables["bgjj"].DefaultView;
//设置显示风格
DataGridTableStyle dgts = new DataGridTableStyle();
dgts.MappingName = "bgjj" ;
dgts.ReadOnly = false ;
DataGridTextBoxColumn aColumnTextColumn ;
int rowcount;
rowcount = dg_ds.Tables["bgjj"].Columns.Count;
DataSet ds_columnlabel;
for (int i = 0; i < rowcount;i++)
{
//获取中文列名
ds_columnlabel = new DataSet();
SqlDataAdapter columnlabel_sqldataAdapter = new SqlDataAdapter("select pbc_labl,g_visible from sys_lantop where pbc_cnam ='" + dg_ds.Tables["bgjj"].Columns[i].ColumnName + "' order by g_no " ,sqlConnection1);
try
{
sqlConnection1.Open();
columnlabel_sqldataAdapter.Fill(ds_columnlabel,"columnlabel");
}
finally
{
sqlConnection1.Close();
}
aColumnTextColumn = new DataGridTextBoxColumn();
aColumnTextColumn.MappingName = dg_ds.Tables["bgjj"].Columns[i].ColumnName;//绑定列
aColumnTextColumn.NullText = "空";//空字符处理
aColumnTextColumn.HeaderText = ds_columnlabel.Tables[0].Rows[0]["pbc_labl"].ToString();//设置列名
aColumnTextColumn.TextBox.ReadOnly = true;
aColumnTextColumn.TextBox.WordWrap = true;
aColumnTextColumn.TextBox.AutoSize = true;//让列宽根据数据内容自适应调整
dgts.PreferredColumnWidth = aColumnTextColumn.TextBox.Width;
if (dg_ds.Tables["bgjj"].Columns[i].ColumnName == "dwlabel")
{
dgts.PreferredColumnWidth = 150;
}
if( int.Parse(ds_columnlabel.Tables[0].Rows[0]["g_visible"].ToString().Trim()) == 0)
{
dgts.PreferredColumnWidth = 0;
}
dgts.AlternatingBackColor = Color.LightGray;//设定交替行的背景色
dgts.GridColumnStyles.Add(aColumnTextColumn);
}
//自定义列宽
// dgts.PreferredColumnWidth = 100;
//隐藏列
// dgts.PreferredColumnWidth = 0;
datagrid_bgjj.TableStyles.Add(dgts);
datagrid_bgjj.Visible = true ;
lv_bgjj.Visible = false ;
其中()中的dataSet1就是你使用的DataSet名称