怎么按选中的顺序排序(不要按DataTable中的ID排序)
选择 生产订单号 行号 生产订单类型
√ 0012112 9 标准
√ 0012133 3 标准
√ 0023312 10 标准
√ 0012123 4 标准
0012411 42 标准
0012113 12 标准
0012331 39 标准
DataTable
id 生产订单号 行号 生产订单类型
1 0012123 4 标准
4 0012133 3 标准
5 0023312 10 标准
8 0012112 9 标准
现在有个打印按钮 输出的页面是按 Id 排序的
怎么才能 让打印的顺序是按照我选中的顺序打印啊
------解决方案--------------------
private void tsbPrint_Click(object sender, EventArgs e)
{
List <string> routingId = new List <string> ();
Dictionary <int, string> sort = new Dictionary <int, string> ();
int sortSeq = 0;
for(int i=0;i <griView.RowCount ;i++)
{
if ((bool)griView.GetRowCellValue(i, griView.Columns.ColumnByFieldName( "选择 ")))
{
routingId.Add(griView.GetRowCellValue(i, griView.Columns.ColumnByFieldName( "RoutingId ")).ToString());
sort.Add(sortSeq, griView.GetRowCellValue(i, griView.Columns.ColumnByFieldName( "RoutingId ")).ToString());
sortSeq++;
}
}
string[] arrRouting=routingId.ToArray();
string routingIds = string.Join( ", ", arrRouting);
DataTable dtHead = GetHeadData(routingIds);
DataTable dtDetail = GetDetailData(routingIds);
DataTable dtHeadSort = dtHead.Clone();
foreach (var item in sort)
{
DataRow row = dtHead.Select( "moRoutingId= " + item.Value)[0];
dtHeadSort.ImportRow(row);
}
}
private DataTable GetHeadData(string filter)
{
string str = "select * from DB where id in ( " + filter + ") ";
return SqlHelper.ExecuteDataset(str).Tables[0];
}