We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

Reg: DataView

Thread ID:





32417 Jul 29,2005 04:49 AM Jul 29,2005 07:08 AM Windows Forms 5
Tags: GridControl
Anna Srinivasan
Asked On July 29, 2005 04:49 AM

Hi, This is my code to fill the databound grid using dataview. [maxRow = 11] private void FillDetailedHistory(DataView dvLatestHistory) { dvLatestHistory.Sort = "HISTORY_DATE DESC"; int rowCount = dvLatestHistory.Count; if (rowCount > maxRows) { DateTime filterDate = Convert.ToDateTime(dvLatestHistory[maxRows][historyDateColumn]); DateTime firstDate = Convert.ToDateTime(dvLatestHistory[0][historyDateColumn]); dvLatestHistory.RowFilter = "HISTORY_DATE > ''" + filterDate +"'' AND HISTORY_DATE <= ''" + firstDate +"''"; } sgbDetailedHistory.BeginUpdate(); sgbDetailedHistory.EnableAddNew = false; this.sgbDetailedHistory.DataSource = dvLatestHistory; sgbDetailedHistory.EndUpdate(true); this.dvSave = dvLatestHistory; } This is my code to insert row in to databound grid control. private void btnInsertRow_Click(object sender, System.EventArgs e) { try { DataRow dr = dvSave.Table.NewRow(); dr["ASSET_ID"] = this.allInfoData.Asset.AssetId; if (this.sgbDetailedHistory.Model.RowCount == 0) { dr[historyDateColumn] = System.DateTime.Now.Date; } else { dr[historyDateColumn] = Convert.ToDateTime(this.sgbDetailedHistory[1, 1].Text).AddDays(1); } dvSave.Table.Rows.Add(dr); this.FillDetailedHistory(dvSave); } catch (Exception ex) { Logger.WriteLogEntry("Error while Inserting New Row", ex, LogType.Error); } } My question is,If the grid contain >=11 rows, i can not insert new row in to grid. If less than 11 rows i can. What could be the problem..? Note: Pk: Assetid & HistoryDate Thanks, Anna

Administrator [Syncfusion]
Replied On July 29, 2005 05:26 AM

What error are you getting? My guess is that this has nothing to do with the grid. In your code snippets, comment out every line that uses the grid. Does the remaining code work to add a new row to your dataview? You should look at the values you have set in your new row, and make sure they satisfy the rowfilter you have added to this dataview. If they do not, then that would explan why the new row does not appear in teh dataview. (Though if you dropped another grid on your form and just made the datasource of that grid be the datatable, I suspect the new row wold appear there.)

Anna Srinivasan
Replied On July 29, 2005 05:42 AM

Hi, I am not getting any error. But row count does not increse after adding new row to dataview, if row count >= 11. If it is < 11 , i can. Note: If i remove the filter condition, every thing is Perfectly fine. Any idea...........!

Administrator [Syncfusion]
Replied On July 29, 2005 05:48 AM

As I said above, this suggests that the new row you are adding does NOT satisfy the RoweFilter that you have set on the dataview. So, look at the values in the new row and compare them to the RowFilter to see what you need to do to make the new row satisfy the RowFilter.

Anna Srinivasan
Replied On July 29, 2005 06:43 AM

Hi, What i am trying to saying is, before going to filter condition itself, the row count does not increse.

Administrator [Syncfusion]
Replied On July 29, 2005 07:08 AM

Things work as expected in this sample. Can you tell me how ot see the problem with this sample? http://www.syncfusion.com/Support/user/uploads/GDBG_AddRow_15f6a464.zip If you put a stop on the every line where you assign the RowFilter, (even if it is in the designer gerenated code), and put a stop on the line where you add the new row, I suspect that the rowfilter line is being hit before the addnew row line. This would explain the behavior you are seeing. Once the filter is set, that filter continues to apply until you change it to something else. So, new rows added after the filter has been set must satisfy the existing filter.


This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.