using System.Linq;
/// <summary>
/// 根据视图获取自动编号。
/// </summary>
/// <param name="dataView"></param>
/// <param name="letters"></param>
/// <returns></returns>
#region
public static string GetNewID(this DataView dataView, string letters)
{
dataView.RowFilter = null; // 清除该筛选器。
dataView.RowStateFilter = DataViewRowState.CurrentRows; // 包括未更改行、新行和已修改行的当前行。
var query = from item in dataView.Cast<DataRowView>()
let ID = item.Row.Field<string>(0).Substring(letters.Length)
select ID;
int id = query.Any() ? int.Parse(query.Max()) + 1 : 1;
return string.Format("{0}{1:D3}", letters, id); // D3 <=> 000
}
#endregion