2013-06-19 83 views
0

我正在一个项目中,我从一个excel文件中读取多个字段并将它们保存在db中。如果用户输入错误的值,如何在页面上显示多个错误消息。 Aspose.cells用于读取数据。我的代码是如何在不验证的情况下在页面上显示错误摘要?

public List<Data> ImportFromExcel(Stream bytes, out bool isFine) 
    { 
     isFine = true; 
     DateTime DOJ; 

     List<Data> list = new List<Data>(); 
     DataTable dt = new DataTable(); 

     Workbook workBook = new Workbook(); 
     workBook.Open(bytes); 

     Worksheet workSheet = workBook.Worksheets[0]; 
     try 
     { 
      dt = workSheet.Cells.ExportDataTable(0, 0, workSheet.Cells.MaxRow + 1, workSheet.Cells.MaxColumn + 1, true); 

     } 
     catch (Exception ex) 
     { 
      isFine = false; 
      ShowMessage("Your file has some invalid formats of data. Please review it and try again.", MessageType.Error, true); 
      return null; 
     } 

     try 
     { 
      int i = 1; 

      foreach (DataRow reader in dt.Rows) 
      { 
       if (reader["LetterId"].ToString().Length > 75) 
       { 
        isFine = false; 
        ShowMessage("In Row Number " + i + " Letter Id cannot exceed 75 characters.", MessageType.Error, true); 
        return null; 
       } 
       if (reader["Subject"].ToString().Length > 75) 
       { 
        isFine = false; 
        ShowMessage("In Row Number " + i + " Subject cannot exceed 75 characters.", MessageType.Error, true); 
        return null; 
       } 
       . 
       . 
       . 

显示消息方法只显示单个错误消息。

+0

建议:调用'ShowMessage'前'变量在'列表添加你的错误消息。最后,结合错误消息('string.Join')并调用'ShowMessage' – mshsayem

回答

0

您可以创建一个空的字符串列表,然后每次遇到错误时将其添加到列表中。然后,一旦你在你的列表中的所有错误,你可以这样做:

 string allErrors = string.Empty; 
     foreach (string err in errorList) 
     { 
      allErrors += err + "<br />"; 
     } 
     if (allErrors != string.Empty) 
     { 
      ShowMessage(allErrors); 
     } 
相关问题