现有gridview数据源,其数据如下(因为代码列是由其他功能配置出来的,真正保存在表里的可能是ID,但显示的为代码):
名称 |代码
Nokia 1(这值实际是ID)
HTC 2
…
其前台处理后显示为:
名称 |代码
Nokia N95(真正的代码是通过关系表生成的动态下拉来绑定显示的数据)
HTC 1032
…
现我现实现的就是将前台显示的数据转换成一个表,以方便其他的操作,求大虾指点。
名称 |代码
Nokia 1(这值实际是ID)
HTC 2
…
其前台处理后显示为:
名称 |代码
Nokia N95(真正的代码是通过关系表生成的动态下拉来绑定显示的数据)
HTC 1032
…
现我现实现的就是将前台显示的数据转换成一个表,以方便其他的操作,求大虾指点。
解决方案 »
- SQL Sever中主键Id列设置了Identity属性虽然删除了行,但是新行还是从上一个已删除Id号码+1,该怎么弄
- “添加主输出和内容文件”有什么作用?
- dataGridView1不显示数据
- WPF中 namespc 前缀映射是怎么回事了
- winform 的显示html格式数据问题
- TEXTBOX.COPY TEXTBOX.CUT TEXTBOX.PASTE
- 用钩子碰到的一个问题。
- ---------在用vb.net编写asp.net..在条件符合的情况...就可以弹出一个消息框------
- 64位电脑中的32位winfrom程序怎么弄通过一个窗口句柄访问一个64位窗口的文件路径
- 关于键盘按键的,急!!
- 如何获取鼠标旋转的角度大小和方向
- 为什么不能把pictureBox1中画的图利用DrawToBitmap保存到文件。代码
DataTable dt = gridControl_ABC.DataSource as DataTable;
/// <summary>
/// 从GridView的数据生成DataTable
/// </summary>
/// <param name="gv">GridView对象</param>
public static DataTable GridView2DataTable(GridView gv)
{
DataTable table = new DataTable();
int rowIndex = 0;
List<string> cols = new List<string>();
if (!gv.ShowHeader && gv.Columns.Count == 0)
{
return table;
}
GridViewRow headerRow = gv.HeaderRow;
int columnCount = headerRow.Cells.Count;
for (int i = 0; i < columnCount; i++)
{
string text = GetCellText(headerRow.Cells[i]);
cols.Add(text);
}
foreach (GridViewRow r in gv.Rows)
{
if (r.RowType == DataControlRowType.DataRow)
{
DataRow row = table.NewRow();
int j = 0;
for (int i = 0; i < columnCount; i++)
{
string text = GetCellText(r.Cells[i]);
if (!String.IsNullOrEmpty(text))
{
if (rowIndex == 0)
{
string columnName = cols[i];
if (String.IsNullOrEmpty(columnName))
{
continue;
}
if (table.Columns.Contains(columnName))
{
continue;
}
DataColumn dc = table.Columns.Add();
dc.ColumnName = columnName;
dc.DataType = typeof(string);
}
row[j] = text;
j++;
}
}
rowIndex++;
table.Rows.Add(row);
}
}
return table;
}
也只能这样,遍历gridview,遍历出来的数据重新构造成你想要的table,具体代码懒得写了,可以参考楼上的
转换好内容再重新绑定回控件.
dev是什么东东.不能历遍的控件还要它做什么.