WPF中怎么获取dataGrid内的所有数据转换成table
我写的:DataTable dt = (DataTable)dataGrid1.DataContext;
取出来的数据是空。。。
请问有什么解决的办法?
DataSet ds = new DataSet();
ds = (DataTable)dataGrid1.DataContext;
DataTable dt = ds.Tables[0];
试试这个
ds = (DataTable)dataGrid1.DataContext;
DataTable不能隐式转换DataSet
我换成ds = (DataSet)dataGrid1.DataContext;还是不对,数据为空。。
@..00..: DataTable dt=dataGrid1.DataSource as DataTable
试试这个,不然的话只能循环读取了
public DataTable GetDgToTable(DataGrid dgv)
{
DataTable dt = new DataTable();
for (int count = 0; count < dgv.Columns.Count; count++)
{
DataColumn dc = new DataColumn(dgv.Columns[count].Name.ToString());
dt.Columns.Add(dc);
}
for (int count = 0; count < dgv.Rows.Count; count++)
{
DataRow dr = dt.NewRow();
for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
{
dr[countsub] = Convert.ToString(dgv.Rows[count].Cells[countsub].Value);
}
dt.Rows.Add(dr);
}
return dt;
}
我没码代码测试,纯属猜测
@chous:asp.net C# 没这种写法吧。。。
这个问题我当时是读取的赋值给GridView的dataset里面的数据。
@..00..: 先调试的看看DataContext是不是null
@chous: 是
@..00..: 哦,那应该是赋值有错吧
@..00..: 我这是WPF,目测都是C#,差别不大
@chous: 我当时写的就是WPF,刚没看见你写的代码。只看见DataTable dt=dataGrid1.DataSource as DataTable。。
你下面写的代码应该是对的。。
这种集合控件有ItemsSource属性,是个IEnumerable类型的,DataTable是不能直接绑定到ItemsSource上,也不能直接插入。。
不明白
Hi , WPF中怎么获取dataGrid内的所有数据 这个问题你解决了吗? 我现在有这么一个需求:datagrid中的数据是动态变化的,每次变化后都要能够求得datagrid中某列金额的总和,我现在也不懂怎样获得datagrid内的所有数据,你知道吗? 谢谢分享。。。
你在给datagrid动态绑定数据是获取你需要的列循环累加,不就是总和了吗。
@..00..: 上面通过dataGrid1.DataContext的方法可以得到datagrid里面的所有数据吗 ?如果可以可否贴点code? thx
@波仔Robert: 哪个好像不行的,隔了很长时间,忘了。
@..00..: 额,thx