2013-09-13 6 views
0

У меня есть сетка с пейджингом (размер страницы 10), который содержит информацию о курсе. когда я сохраняю данные gridview в базе данных, он сохраняет только 10 записей (согласно странице). Есть ли какой-либо, чтобы получить все gridview все строки. , например. если мой gridview содержит 25 строк с пейджингом и когда я сохраняю данные в базе данных, тогда все 25 строк данных вставляются в базу данных? пожалуйста, помогите ... Вот мой кодКак получить данные сетки во всех строках при использовании подкачки

  DataTable dt = new DataTable(); 
     dt.Columns.Add("row_index"); 
     dt.Columns.Add("edited_value"); 
     IList<int?> SeqNos = new List<int?>(); 


     foreach (GridViewRow gvr in gvViolationCodes.Rows) 
     { 
      TextBox tb = (TextBox)gvr.FindControl("txtSeqNo"); 
      Label lblSysid = (Label)gvr.FindControl("lblSysID"); 
      HiddenField hf = (HiddenField)gvr.FindControl("HiddenField1"); 
      if (tb.Text != hf.Value) 
      { 
       DataRow dr = dt.NewRow(); 
       SeqNos.Add(Convert.ToInt32(tb.Text)); 
       dr["row_index"] = lblSysid.Text; 
       dr["edited_value"] = tb.Text; 
       dt.Rows.Add(dr); 
      } 
     } 
+0

в этом случае вы перекручивание через все строки INT ситемы вид сетки и сохранения данных? – Bibhu

+0

У меня есть кнопка вне gridview для обновления записей gridview. для этого im цикл через все строки – baby

+0

Проверьте этот код проекта вопрос о помощи. http://www.codeproject.com/Questions/550721/howplustoplusgetplusgridviewplusallplusrowsplusdat – Bibhu

ответ

0

Вам необходимо сохранить данные на временное хранение в PageIndexChanging случае GridView. При окончательном сохранении отправьте данные, относящиеся к серверной процедуре Sql, или зациклируйте данные в формате datatable и сохраните их в базе данных. Выполните следующие действия:

protected void grdView_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     fnStoreGridData(); 
    } 
    private void fnStoreGridData() 
    { 
     DataTable TempDataTable = new DataTable(); 
     if(Session["Data"]!=null){ 
      TempDataTable = Session["Data"] as DataTable; 
     } 
     else{ 
      TempDataTable.Columns.Add("exCourse", typeof(string)) ; 
      TempDataTable.Columns.Add("exUniversityCourse", typeof(string)) ; 
     } 
     foreach (GridViewRow row in gvExportCourse.Rows) 
     { 
      Label exCourse = (Label)row.FindControl("gvlblCourseName"); 
      Label exUniversityCourse = (Label)row.FindControl("gvlblUniversityCourseName"); 
      if (exCourse != null) 
      { 
       if (!string.IsNullOrEmpty(exCourse.Text)) 
       { 
        TempDataTable.Rows.Add(exCourse.Text, exUniversityCourse.Text); 
        //TempDataTable is your datatable object. Make sure that datatable contains these columns 
       } 
      } 
     } 
    } 

В Final Save:

protected void button_Click(object s, EventArg e) 
{ 
    fnStoreGridData(); //Here this will bind the data of current page 
    DataTable TempDataTable = new DataTable(); 
    if(Session["Data"]!=null){ 
     TempDataTable = Session["Data"] as DataTable; 
    } 
    //Now loop through datatable and store the values 
    foreach(DataRow in TempDataTable.Rows) 
    { 
     CourseInformation course = new CourseInformation(); 
     course.AddCourseMaster(dr["exCourse"].ToString(), dr["exUniversityCourse"].ToString()); 
    } 
    label1.Text = "Course saved successfully."; 
} 
Смежные вопросы