读书人

问个有关DataGrid 比较菜菜的有关问题

发布时间: 2012-02-16 21:30:36 作者: rapoo

问个有关DataGrid 比较菜菜的问题 ~~~ @-@
xml报文

<?xml version= "1.0 " encoding= "UTF-8 "?>
<orgUnit id= "2 " name= "办公室 ">
<user>
<param name= "category " value= " "/>
<param name= "createdate " value= "2007-3-28 "/>
<param name= "email " value= "clj@jsppd.gov.cn "/>
<param name= "mobile " value= "1234567890 "/>
<param name= "orgid " value= "2 "/>
<param name= "orgname " value= " "/>
<param name= "otherway " value= "1234567890 "/>
<param name= "password " value= "666 "/>
<param name= "phone " value= " "/>
<param name= "position " value= "主任 "/>
<param name= "realname " value= "陈立军 "/>
<param name= "registerdate " value= "2007-3-28 "/>
<param name= "servicedate " value= "2018-10-11 "/>
<param name= "status " value= "N "/>
<param name= "type " value= "01 "/>
<param name= "userdsc " value= "陈立军 "/>
<param name= "userid " value= "135 "/>
<param name= "username " value= "clj@jsppd.gov.cn "/>
</user>
</orgUnit>
======================================================
XmlDocument dom = new XmlDocument();
dom.LoadXml(usersxml);
XmlNodeList nodes = dom.SelectNodes( "orgUnit/user/param[@name= 'realname '] ");
if (nodes != null)
{
DataTable dt = new DataTable();
dt.Columns.Add( "name ", Type.GetType( "System.String "));
foreach (XmlNode node in nodes)
{
DataRow row = dt.NewRow();
row[ "name "] = node.Attributes[ "value "].Value;
dt.Rows.Add(row);
}
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();
}

第一个问题 想知道 如何 再加另一个
<param name= "mobile " value= "1234567890 "/>
mobile的值 是不是 必须再加一个
XmlNodeList nodes2 = dom.SelectNodes( "orgUnit/user/param[@name= 'mobile '] ");

foreach (XmlNode node in nodes2)
{
DataRow row = dt.NewRow();
row[ "name "] = node.Attributes[ "value "].Value;
dt.Rows.Add(row);
}
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();
}


这样的话 DG 中不是覆盖了原来 realname的值么 ? 有办法 再增加么?


第2个问题
在DG中 也 捆绑了 Checkbox 控件
选择 后 对相应的行 该如何操作?

private void OKBtn_Click(object sender, System.EventArgs e)
{
CheckBox checkbox;
foreach(DataGridItem dgc in this.DataGrid1.Items)


{
checkbox = (CheckBox)this.DataGrid1.Items[dgc.ItemIndex].FindControl( "CheckBox1 ");
if(((CheckBox)dgc.FindControl( "CheckBox1 ")).Checked==true)
{
//应该是在这里写, 但没法取得 例如 mobile 的值.... 该如何取得?
}
}
}

请能帮忙的~~~师兄弟 们~ 指教 谢谢~~~~

[解决办法]
楼主不是那个传说中的.....
那个叫鸡肋的呢......
这贴我要看看怎么个意思
[解决办法]
jf
[解决办法]
第一个问题不用这么麻烦
改成
XmlNodeList nodes = dom.SelectNodes( "orgUnit/user/param[@name= 'realname ']|param[@name= 'mobile '] ");
[解决办法]
上面写错了
XmlNodeList nodes = dom.SelectNodes( "orgUnit/user/param[@name= 'realname ']|orgUnit/user/param[@name= 'mobile '] ");
[解决办法]

读书人网 >asp.net

热点推荐