急!!(新手)winform DataGridView 加载XML,行数显示正确,但是内容没有 winformxml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 xml格式如下<?xml version="1.0" encoding="utf-8"?><NewDataSet><Table> <one>信息</one> <two>广东深圳福田19T</two> <thr>07968320069</thr> <fou>13970607875</fou> <...></..> <..></..> <..></...> <..></..> <..></..> <..></..> </Table><Table> <one>信息</one> <two>有货求1辆车</two> <thr>8312178,13607960050</thr> <fou>8319997</fou> <...></..> <..></..> <..></...> <..></..> <..></..> <..></..> </Table></NewDataSet> 首先你这个ds是哪里来的,看不到,绑定数据不应该是用你上面赋值的dt。 DataSet dds = new DataSet(); dds.ReadXml("Xml.xml"); this.m_dgv.DataSource = dds.Tables[0].DefaultView; 按你的代码: DataTable dt = new DataTable(); private void button7_Click(object sender, EventArgs e) { dt.Columns.Add("one"); dt.Columns.Add("two"); dt.Columns.Add("thr"); dt.Columns.Add("fou"); XmlDocument xml = new XmlDocument(); xml.Load("Xml.xml"); XmlNode node = xml.SelectSingleNode("NewDataSet"); foreach (XmlNode xnode in node.SelectNodes("Table")) { DataRow row = this.dt.NewRow(); foreach (XmlNode xcnode in xnode.ChildNodes) { //xML里很多字段,我只取这四个 if (xcnode.Name == "one" || xcnode.Name == "two" || xcnode.Name == "thr" || xcnode.Name == "fou") row[xcnode.Name] = xcnode.InnerText; } //添加该数据行 this.dt.Rows.Add(row); } this.m_dgv.AutoGenerateColumns = true; this.m_dgv.DataSource = dt; this.m_dgv.DataMember = dt.TableName; int count = this.m_dgv.Rows.Count; //等于10 string str = this.m_dgv.Rows[0].Cells[0].Value.ToString(); //报错“未将对象引用设置到对象的实例” } Xml.xml中有很多字段,我只取其中的四个而已。并且用这方法也显示不了数据,只显示了行 和我的DataGridView的列设置有关吗?我手动生成了五列 DataGridView不用加,我测试都正常 DataGridView都不用设置,你试一下 DataGridView不设置的时候,是可以成功啊,但是关键是我要隐藏两列,还要添加一个按钮列呢 你在 foreach (XmlNode xcnode in xnode.ChildNodes) 设个断点,单步执行,看都读到数据没有,再看 this.dt.Rows.Add(row);里有没有加载到数据, 也只能这样了,我就不清楚,为什么我设置了列后,加载不能成功呢?也只能这样了,我就不清楚,为什么我设置了列后,加载不能成功呢?如果我设置了六列,然后我从xml中取4列来填充,一列隐藏,一列生成按钮列,你能帮我给个参考吗?发我邮箱也可以。[email protected]。谢谢! 一种是读取数据,给对应的grid里单元格赋值, dt.Columns.Add("one"); dt.Columns.Add("two"); dt.Columns.Add("thr"); dt.Columns.Add("fou"); //DataColumn c1 = new DataColumn("fiv", typeof(string)); dt.Columns.Add("fiv"); dt.Columns.Add("six"); //生成按钮列 XmlDocument xml = new XmlDocument(); xml.Load("Xml.xml"); XmlNode node = xml.SelectSingleNode("NewDataSet"); foreach (XmlNode xnode in node.SelectNodes("Table")) { DataRow row = this.dt.NewRow(); foreach (XmlNode xcnode in xnode.ChildNodes) { //xML里很多字段,我只取这四个 if (xcnode.Name == "one" || xcnode.Name == "two" || xcnode.Name == "thr" || xcnode.Name == "fou") row[xcnode.Name] = xcnode.InnerText; } //添加该数据行 this.dt.Rows.Add(row); } this.m_dgv.AutoGenerateColumns = true; this.m_dgv.DataSource = dt; m_dgv.Columns[4].Visible = false; m_dgv.Columns[5].Visible = false; DataGridViewButtonColumn db = new DataGridViewButtonColumn(); db.Name = "colbtn"; db.HeaderText = "选择"; db.DefaultCellStyle.NullValue = "选择"; m_dgv.Columns.Add(db); this.m_dgv.DataMember = dt.TableName; int count = this.m_dgv.Rows.Count; string str = this.m_dgv.Rows[0].Cells[0].Value.ToString(); C#操作mySql的几个问题 用TcpClient做服务端来接受消息,并回复响应的问题。 怎么才能才数据绑定的时候DataSource,只绑定指定的属性? 我想写个对List里面对象的属性进行排序,有谁可以给个例子出来吗? 谁做过Twain开发 C#随机触发事件 关于自定义类中多个事件的写法??? C# .2.0 有没有让一个字符重复指定次数的函数 取消文字格式出了问题,各位过来看看,很怪 数据库恢复错误 tabcontrol的选中标签时怎么取消一高一低的凸显 小弟求解,关于线程与委托
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
<Table>
<one>信息</one>
<two>广东深圳福田19T</two>
<thr>07968320069</thr>
<fou>13970607875</fou>
<...></..>
<..></..>
<..></...>
<..></..>
<..></..>
<..></..>
</Table>
<Table>
<one>信息</one>
<two>有货求1辆车</two>
<thr>8312178,13607960050</thr>
<fou>8319997</fou>
<...></..>
<..></..>
<..></...>
<..></..>
<..></..>
<..></..>
</Table>
</NewDataSet>
DataSet dds = new DataSet();
dds.ReadXml("Xml.xml");
this.m_dgv.DataSource = dds.Tables[0].DefaultView;
private void button7_Click(object sender, EventArgs e)
{
dt.Columns.Add("one");
dt.Columns.Add("two");
dt.Columns.Add("thr");
dt.Columns.Add("fou"); XmlDocument xml = new XmlDocument();
xml.Load("Xml.xml");
XmlNode node = xml.SelectSingleNode("NewDataSet"); foreach (XmlNode xnode in node.SelectNodes("Table"))
{
DataRow row = this.dt.NewRow();
foreach (XmlNode xcnode in xnode.ChildNodes)
{
//xML里很多字段,我只取这四个
if (xcnode.Name == "one" || xcnode.Name == "two" || xcnode.Name == "thr" || xcnode.Name == "fou")
row[xcnode.Name] = xcnode.InnerText;
}
//添加该数据行
this.dt.Rows.Add(row);
}
this.m_dgv.AutoGenerateColumns = true;
this.m_dgv.DataSource = dt;
this.m_dgv.DataMember = dt.TableName;
int count = this.m_dgv.Rows.Count; //等于10
string str = this.m_dgv.Rows[0].Cells[0].Value.ToString(); //报错“未将对象引用设置到对象的实例” }
Xml.xml中有很多字段,我只取其中的四个而已。并且用这方法也显示不了数据,只显示了行
设个断点,单步执行,看都读到数据没有,再看 this.dt.Rows.Add(row);里有没有加载到数据,
也只能这样了,我就不清楚,为什么我设置了列后,加载不能成功呢?如果我设置了六列,然后我从xml中取4列来填充,一列隐藏,一列生成按钮列,你能帮我给个参考吗?发我邮箱也可以。[email protected]。谢谢!
dt.Columns.Add("one");
dt.Columns.Add("two");
dt.Columns.Add("thr");
dt.Columns.Add("fou");
//DataColumn c1 = new DataColumn("fiv", typeof(string));
dt.Columns.Add("fiv");
dt.Columns.Add("six"); //生成按钮列
XmlDocument xml = new XmlDocument();
xml.Load("Xml.xml");
XmlNode node = xml.SelectSingleNode("NewDataSet"); foreach (XmlNode xnode in node.SelectNodes("Table"))
{
DataRow row = this.dt.NewRow();
foreach (XmlNode xcnode in xnode.ChildNodes)
{
//xML里很多字段,我只取这四个
if (xcnode.Name == "one" || xcnode.Name == "two" || xcnode.Name == "thr" || xcnode.Name == "fou")
row[xcnode.Name] = xcnode.InnerText;
}
//添加该数据行
this.dt.Rows.Add(row);
}
this.m_dgv.AutoGenerateColumns = true;
this.m_dgv.DataSource = dt;
m_dgv.Columns[4].Visible = false;
m_dgv.Columns[5].Visible = false;
DataGridViewButtonColumn db = new DataGridViewButtonColumn();
db.Name = "colbtn";
db.HeaderText = "选择";
db.DefaultCellStyle.NullValue = "选择";
m_dgv.Columns.Add(db); this.m_dgv.DataMember = dt.TableName;
int count = this.m_dgv.Rows.Count;
string str = this.m_dgv.Rows[0].Cells[0].Value.ToString();