Search Results

Search found 86 results on 4 pages for 'bindingsource'.

Page 2/4 | < Previous Page | 1 2 3 4  | Next Page >

  • Mark row as deleted in dataTable on UserDeletingRow

    - by dav.evans
    I have a datatable bound to a winforms dataGridView via a BindingSourceControl. I want to be able handle the UserDeletingRow event from the dataGridView and mark the row in my dataTable as deleted. I need to then be able to retrieve the rows marked as deleted from the datatable so that I can delete them from my database when a Save button is clicked. Please not I dont want to delete from the database on each firing of UserDeletingRow, only mark that row as deleted in my dataset. Can anyone point out how to do this?

    Read the article

  • How to have combobox take data from a child datasource

    - by SkollSunman
    I am trying to have a datagridview with two comboboxes, a company name and a supplier account number. When a company name is selected the relevant supplier account numbers (a company can have more than one supplier account) should be filtered for that company in that row. I have a datagridview with two bindingsources: supplierBindingSource and companyBindingSource and the Supplier account combobox uses the supplierBindingSource for its datasource and company name uses the companyBindingSource for its datasource. A company can have a supplier and/or customer account so the supplierBindingSource is a child or a companyBindingSource. The supplier accounts correctly filter based on the selected company name however when another company name is selected in another row all the supplier accounts are filtered for that company. Saving still works properly, regardless of what the combo box show but currently it is very confusing for a user to select a supplier account when the labels don't show what is being saved. Is it possible to have only the selected row to filter based on the company name rather than every row? EDIT: Thanks to the answer from http://social.msdn.microsoft.com/Forums/windows/en-US/b23d9e8f-a00a-49ba-adf5-52d87c1b2890/parent-child-comboboxes-in-datagridview I have been able to make some progress. The supplier account gets filtered when the drop down box is selected and restored to the full list when selection is finished. However now I am trying to have the company selected (and not filtered) when a supplier account is selected. The issue I've run into now is that I can get the companyID (which is the valuemember for the company combobox) but I cannot select the appropriate company without just setting the value of the combobox to the companyID which displays the companyID instead of the company name. Is there a way to select the company using the companyID while preserving the displaymember/valuemember dynamic? EDIT 2: The wall of text may be off putting. Some code to help elucidate my issue DataGridViewComboBoxCell dgcb2 = (DataGridViewComboBoxCell)sdgvSalesOrderLines[cmbSupplierName.Index, e.RowIndex]; var companyID = col.FirstOrDefault(c => c.AccountID == Convert.ToInt32(dgcb.Value)).CompanyID; dgcb2.Value = companyID.toString(); The second line gets the companyID and that works just fine, the final line sets the combobox to display the companyID whereas I would like it to set the valuemember value to companyID so that it would display the corresponding company name. I can set the second line to give me the company name instead but if the value of the combobox isn't the companyID then the supplier account cannot filter based on the company selected.

    Read the article

  • How can I bind events to strongly typed datasets of different types?

    My application contains several forms which consist of a strongly typed datagridview, a strongly typed bindingsource, and a strongly typed table adapter. I am using some code in each form to update the database whenever the user leaves the current row, shifts focus away from the datagrid or the form, or closes the form. This code is the same in each case, so I want to make a subclass of form, from which all of these forms can inherit. But the strongly typed data objects all inherit from component, which doesn't expose the events I want to bind to or the methods I want to invoke. The only way I can see of gaining access to the events is to use: Type(string Name).GetEvent(string EventName).AddEventHandler(object Target,Delegate Handler) Similarly, I want to call the Update method of the strongly typed table adapter, and am using Type(string Name).GetMethod(String name, Type[] params).Invoke(object target, object[] params). It works ok, but it seems very heavy handed. Is there a better way? Here is my code for the main class: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; using System.ComponentModel; namespace MyApplication { public class AutoSaveDataGridForm: Form { private DataRow PreviousRow; public Component Adapter { private get; set; } private Component dataGridView; public Component DataGridView { private get { return dataGridView; } set { dataGridView = value; Type t = dataGridView.GetType(); t.GetEvent("Leave").AddEventHandler(dataGridView, new EventHandler(DataGridView_Leave)); } } private Component bindingSource; public Component BindingSource { private get { return bindingSource; } set { bindingSource = value; Type t = bindingSource.GetType(); t.GetEvent("PositionChanged").AddEventHandler(bindingSource, new EventHandler(BindingSource_PositionChanged)); } } protected void Save() { if (PreviousRow != null && PreviousRow.RowState != DataRowState.Unchanged) { Type t = Adapter.GetType(); t.GetMethod("Update", new Type[] { typeof(DataRow[]) }).Invoke(Adapter, new object[] { new DataRow[] { PreviousRow } }); } } private void BindingSource_PositionChanged(object sender, EventArgs e) { BindingSource bindingSource = sender as BindingSource; DataRowView CurrentRowView = bindingSource.Current as DataRowView; DataRow CurrentRow = CurrentRowView.Row; if (PreviousRow != null && PreviousRow != CurrentRow) { Save(); } PreviousRow = CurrentRow; } private void InitializeComponent() { this.SuspendLayout(); // // AutoSaveDataGridForm // this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.AutoSaveDataGridForm_FormClosed); this.Leave += new System.EventHandler(this.AutoSaveDataGridForm_Leave); this.ResumeLayout(false); } private void DataGridView_Leave(object sender, EventArgs e) { Save(); } private void AutoSaveDataGridForm_FormClosed(object sender, FormClosedEventArgs e) { Save(); } private void AutoSaveDataGridForm_Leave(object sender, EventArgs e) { Save(); } } } And here is a (partial) form which implements it: public partial class FileTypesInherited :AutoSaveDataGridForm { public FileTypesInherited() { InitializeComponent(); } private void FileTypesInherited_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'sharedFoldersInformationV2DataSet.tblFileTypes' table. You can move, or remove it, as needed. this.tblFileTypesTableAdapter.Fill(this.sharedFoldersInformationV2DataSet.tblFileTypes); this.BindingSource = tblFileTypesBindingSource; this.Adapter = tblFileTypesTableAdapter; this.DataGridView = tblFileTypesDataGridView; } }

    Read the article

  • ColumnCount in DataGridView remains 0 after assigning data source

    - by Manan Shah
    I am having trouble with the following simple code List<Car> tempList = new List<Car>(); BindingSource bindingSource = new BindingSource(); bindingSource.DataSource = tempList; dgTempView.DataSource = bindingSource; Here, dgTempView is a data grid view After the above lines execute, the column count in the datagrid view remains 0. And when I try adding a Car instance in tempList, I get an error saying that 'no row can be added to a datagridview control that does not have columns' . I am not able to understand what am I missing here

    Read the article

  • How to determine if DataGridView contains uncommitted changes when bound to a SqlDataAdapter

    - by JYelton
    I have a form which contains a DataGridView, a BindingSource, a DataTable, and a SqlDataAdapter. I populate the grid and data bindings as follows: private BindingSource bindingSource = new BindingSource(); private DataTable table = new DataTable(); private SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT * FROM table ORDER BY id ASC;", ClassSql.SqlConn()); private void LoadData() { table.Clear(); dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = bindingSource; SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter); table.Locale = System.Globalization.CultureInfo.InvariantCulture; dataAdapter.Fill(table); bindingSource.DataSource = table; } The user can then make changes to the data, and commit those changes or discard them by clicking either a save or cancel button, respectively. private void btnSave_Click(object sender, EventArgs e) { // save everything to the displays table dataAdapter.Update(table); } private void btnCancel_Click(object sender, EventArgs e) { // alert user if unsaved changes, otherwise close form } I would like to add a dialog if cancel is clicked that warns the user of unsaved changes, if unsaved changes exist. Question: How can I determine if the user has modified data in the DataGridView but not committed it to the database? Is there an easy way to compare the current DataGridView data to the last-retrieved query? (Note that there would not be any other threads or users altering data in SQL at the same time.)

    Read the article

  • Visual Studio Designer looses / ignores data

    - by Kempeth
    I'm writing my own control - a datagridviewcolumn that displays integer values as texts like the comboboxcolumn can but without showing the combobox unless the cell is edited. I'm mostly there but I have problems with the databinding. I managed to get the necessary properties to appear in the designer but every time I set the datasource and close the editor the changes are dropped. When I assign the same datasource later in code it works like a charm, I just would prefer not having to do that... public class DataGridViewLookupColumn : DataGridViewColumn { private DataGridViewLookupCell template; private Object datasource = null; private String displaymember = String.Empty; private String valuemember = String.Empty; private BindingSource bindingsource = new BindingSource(); public DataGridViewLookupColumn() : base() { this.template = new DataGridViewLookupCell(); } public override DataGridViewCell CellTemplate { get { return this.template; } set { } } [Category("Data")] [ DefaultValue(null), RefreshProperties(RefreshProperties.Repaint), AttributeProvider(typeof(IListSource)), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), ] public object DataSource { get { return this.bindingsource.DataSource; //return this.datasource; } set { this.bindingsource.DataSource = value; this.bindingsource.EndEdit(); } } [Category("Data")] [ DefaultValue(""), TypeConverterAttribute("System.Windows.Forms.Design.DataMemberFieldConverter, System.Design"), Editor("System.Windows.Forms.Design.DataMemberFieldEditor, System.Design", typeof(System.Drawing.Design.UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), ] public String DisplayMember { get { return this.displaymember; } set { this.displaymember = value; } } [Category("Data")] [ DefaultValue(""), TypeConverterAttribute("System.Windows.Forms.Design.DataMemberFieldConverter, System.Design"), Editor("System.Windows.Forms.Design.DataMemberFieldEditor, System.Design", typeof(System.Drawing.Design.UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), ] public String ValueMember { get { return this.valuemember; } set { this.valuemember = value; } } } EDIT: I experimenting I just found out that that original DataGridViewComboBoxColumn can be made to behave exactly like I wanted to. By setting the DisplayStyle to Nothing the combobox control is only shown in edit mode.

    Read the article

  • DataBinding and ErrorProvider - How to provide custom error messages?

    - by BeowulfOF
    We use BusinessObjects, implementing IDataErrorInfo and IEditableObject. BindingLists with those Objects are added to BindingSources, those are used to bind UserControls and DataGrids on the forms (WinForms). The BindingSource is additionally set as DataSource to the ErrorProvider of the form. We do use currently TextBoxes for Properties of Type int and short. They are validated inside the BusinessObjects with custom validation, like min/max values, etc. That works fine, since error message form our custom validations show up nicely next to the TextBox. However, if the input is greater than the value of an int (e.g. "9999999999") the BindingSource doesn't even try to enter that Value into the BusinesObject but instead gives the errormessage to the errorprovider like "The value for Int32 was too big.". We do not want to bother our users with "Int32" but want a custom errormessage for that. It is nice, that the BindingSource does provide this feature, but is it possible to provide custom error messages for this?

    Read the article

  • VB.NET Winform & UltraTree ?

    - by bochur1
    Can someone tell me how I can binding an Ultratree to a Bindingsource? Binding it to a dataset won't work for me since I need to be able to do filters on the data, something I have in the BindingSource but not in the Dataset.

    Read the article

  • How to stop DataGridView from polluting my Designer file with column controlls?

    - by BeowulfOF
    I'm sure you know the problem, as soon as a BindingSource is connected to a DataGridView the DataGridView generates columns for each Property found in the Type of the BindingSource's DataSource and adds that crap to the Form.Designer.cs file. We only use run time generated columns, the clutter in the designer file is just waste of code, so how can we stop this "feature" of the DataGridView in WinForms?

    Read the article

  • Custom Detail in Linq-to-SQL Master-Detail DataGridViews

    - by Andres
    Hi, looking for a way to create Linq-to-SQL Master-Detail WinForms DataGridViews where the Detail part of the Linq query is a custom one. Can do fine this: DataClasses1DataContext db = new DataClasses1DataContext(".\\SQLExpress"); var myQuery = from o in db.Orders select o; dataGridView1.DataSource = new BindingSource() { DataSource = myQuery }; dataGridView2.DataSource = new BindingSource() { DataSource = dataGridView1.DataSource, DataMember = "OrderDetails" }; but I'd like to have the Detail part under my precise control, like var myQuery = from o in db.Orders join od in db.OrderDetails on o.ID equals od.OrderID into MyOwnSubQuery select o; and use it for the second grid: dataGridView2.DataSource = new BindingSource() { DataSource = dataGridView1.DataSource, DataMember = "MyOwnSubQuery" // not working... }; the real reason I want it is a bit more complex (I'd like to have the Detail part to be some not-pre-defined join actually), but I'm hoping the above conveyed the idea. Can I only have the Detail part as a plain sub-table coming out of the pre-defined relation or can I do more complex stuff with the Detail part? Does anyone else feel this is kind of limited (if the first example is the best we can do)? Thanks!

    Read the article

  • datagridviewcomboboxcolumn with datasource issue?

    - by Sarrrva
    i have some propblem in datagridviewcombobocolumn with custom datasource property in vb.net. when i add datasource it does not populate in datagridview combobox column it giving nothing.. any one please help me out from this problem... code comboboxcell: Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, ByVal initialFormattedValue As Object, ByVal dataGridViewCellStyle As DataGridViewCellStyle) ' Set the value of the editing control to the current cell value. MyBase.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle) Dim ctl As ComboEditingControl = CType(DataGridView.EditingControl, ComboEditingControl) ctl.DropDownStyle = ComboBoxStyle.DropDown ctl.AutoCompleteSource = AutoCompleteSource.ListItems ctl.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest If (Me.DataGridView.Rows(rowIndex).Cells(0).Value <> Nothing) Then Dim GetValueFromRowToUseForBuildingCombo As String = Me.DataGridView.Rows(rowIndex).Cells(0).Value.ToString() ctl.Items.Clear() Dim dt As New DataTable() Try dt = TryCast(DirectCast(Me.DataGridView.Columns(ColumnIndex), ComboColumn).DataSource, DataTable) Catch ex As Exception MsgBox("error") End Try If (dt Is Nothing) Then ctl.Items.Add("") Else Dim thing As DataRow For Each thing In dt.Rows ctl.Items.Add(thing(0).ToString) Next End If If Me.Value Is Nothing Then ctl.SelectedIndex = -1 Else ctl.SelectedItem = Me.Value End If ctl.EditingControlDataGridView = Me.DataGridView End If End Sub from code: Dim widgets As New WidgetDataHandler Dim obj = widgets.GetAllWigetTypes() Dim dt As New DataTable Dim ListofmyObjects As New List(Of widget_types)(obj) Dim objList As New cObjectToTable(Of widget_types)(ListofmyObjects) dt = objList.GetTable() Dim obj1 For Each obj1 In obj blPersons.Add(obj1) Next Dim col1 As New DataGridViewTextBoxColumn col1.DisplayIndex = 0 col1.DataPropertyName = "Id" col1.HeaderText = "Id" dgvi00.Columns.Add(col1) Dim col2 As New ComboColumn col2.DisplayIndex = 1 col2.SortMode = DataGridViewColumnSortMode.Automatic col2.HeaderText = "Name" col2.DataPropertyName = "Name" col2.ToolTipText = "Select something from my combo" Dim dst As New DataSet 'Dim dt1 As New DataTable 'dt1.Columns.Add(col2.HeaderText) 'For Each thing In dt.Rows ' MsgBox(thing(1).ToString) ' dt1.Rows.Add(thing(1).ToString) 'Next dst.Tables.Add(dt) col2.DataSource = dst.Tables(0) col2.DisplayMember = "Name" Me.dgvi00.Columns.AddRange(col2) dgvi00.DataSource = blPersons.BindingSource 'setup the bindings for the binding navigator Dim bn As New _365_Media_Library.BindingNavigatorWithFilter bn.Dock = DockStyle.Bottom bn.GripStyle = ToolStripGripStyle.Hidden Me.Controls.Add(bn) bn.BindingSource = blPersons.BindingSource note : its working good in standalone application regards and thanks sarva

    Read the article

  • C#/DataSet: Create and bind a custom column/property in a DataSet`s DataTable in the XXXDataSet.cs

    - by msfanboy
    Hello, I have a DataSet with a DataTable having the columns Number and Description. I do not want to bind both properties to a BindingSource bound again to 2 controls. What I want is a 3rd column in the DataTable called NumberDescription which is a composition of Number and Description. This property is bound only to 1 control/BindingSource`s property not 2. There is the partial XXXDataSet.Designer.cs file and the partial XXXDataSet.cs file. Of course I have defined the public string NumberDescription {get (doing some checks here;set (doing also some checks here} in the XXXDataSet.cs file. But all this does not bind my new property/Column to the BindingSource the DataTable is bound to because the DataSet does not know the new column/property. To make this new property/column known I could add a new column to the DataTAble in the DataSet designer view naming it NumberDescription. At least I see know the new property in the listing of the BindingSource so I can choose it. But all that did not help?? So how do I do that stuff properly? Should I call the NumberDescription Property in the Number AND Description Property ?

    Read the article

  • C#: Fill DataGridView From Anonymous Linq Query

    - by mdvaldosta
    // From my form BindingSource bs = new BindingSource(); private void fillStudentGrid() { bs.DataSource = Admin.GetStudents(); dgViewStudents.DataSource = bs; } // From the Admin class public static List<Student> GetStudents() { DojoDBDataContext conn = new DojoDBDataContext(); var query = (from s in conn.Students select new Student { ID = s.ID, FirstName = s.FirstName, LastName = s.LastName, Belt = s.Belt }).ToList(); return query; } I'm trying to fill a datagridview control in Winforms, and I only want a few of the values. The code compiles, but throws a runtime error: Explicit construction of entity type 'DojoManagement.Student' in query is not allowed. Is there a way to get it working in this manner?

    Read the article

  • How to Edit rows in DataGridView?

    - by DanSogaard
    So I've a button on my frmMain that opens up another frmEdit which has a datagridview that displays the following query: BindingSource bs = new BindingSource(); string sqlqry = "select p_Name from Items where p_Id=" + p_Id; SqlCeCommand cmd = new SqlCeCommand(sqlqry1, conn); SqlCeDataReader rdr = cmd.ExecuteReader(); bs.DataSource = rdr; dataGridView1.DataSource = bs; this.ShowDialog(parent); Now when frmEdit loads up the dgv displays the query just fine, but I can't Edit. I tried dgv.BeginEdit(true), but it doesn't work. The EditMode works fine if I used wizard to bind datasources to the dgv, but I need to execute my own customized queries and be able to update them directly.

    Read the article

  • Fill WinForms DataGridView From Anonymous Linq Query

    - by mdvaldosta
    // From my form BindingSource bs = new BindingSource(); private void fillStudentGrid() { bs.DataSource = Admin.GetStudents(); dgViewStudents.DataSource = bs; } // From the Admin class public static List<Student> GetStudents() { DojoDBDataContext conn = new DojoDBDataContext(); var query = (from s in conn.Students select new Student { ID = s.ID, FirstName = s.FirstName, LastName = s.LastName, Belt = s.Belt }).ToList(); return query; } I'm trying to fill a datagridview control in Winforms, and I only want a few of the values. The code compiles, but throws a runtime error: Explicit construction of entity type 'DojoManagement.Student' in query is not allowed. Is there a way to get it working in this manner?

    Read the article

  • Can you update/add records in SQL using a datagridview and LINQ to SQL

    - by Jordan S
    Is it possible to bind a DataGridView to a LINQ to SQL class so that when I make changes to the records in the datagridview it automatically updates the SQL database? I have tried binding the data like this but if I make changes to the data in the datagrid view they do not actually affect the data in the database... BOMClassesDataContext DB = new BOMClassesDataContext(); var mfrs = from m in DB.Manufacturers select m; BindingSource bs = new BindingSource(); bs.DataSource = mfrs; dataGridView1.DataSource = bs;

    Read the article

  • Winform BindingSources - Question

    - by Stephen Patten
    I have a windows form (net 2.0) with controls on it bound to an entity (w/ INotifyPropertyChanged) through a BindingSource..works. On the same form I have a drop down list that is also wired up through a BindingSource..works Here's a sample of the relevant code: m_PlanItemLookupBindingSource.DataSource = GetBusinessLogic().RetrievePaymentPlanLookups(); // Collection of PaymentPlans paymentPlanType.Properties.DataSource = m_PlanItemLookupBindingSource; paymentPlanType.Properties.DisplayMember = "Name"; paymentPlanType.Properties.ValueMember = "ID"; paymentPlanType.DataBindings.Add(new Binding("EditValue", m_PlanBindingSource, "PaymentPlanID", true, DataSourceUpdateMode.OnPropertyChanged, null, "D")); agencyComission.DataBindings.Add(new Binding("EditValue", m_PlanBindingSource, "AgencyCommission", true, DataSourceUpdateMode.OnPropertyChanged, null, "P1")); billingType.DataBindings.Add(new Binding("Text", m_PlanBindingSource, "BillingType")); So when I change a value in the drop down list I thought that the m_PlanItemLookupBindingSource Current property would change along with the PaymentPlanID property of the entity which does change. Just a bit confused. Thanks in advance, Stephen

    Read the article

  • Error: Specified method is not supported?!!

    - by DanSogaard
    I keep getting this error when I try to call Find() public void findTxt(string text) { BindingSource src = new BindingSource(); src.DataSource = dataGridView1.DataSource; src.Position = src.Find("p_Name", text); // Specified method is not supported if (src.Position == 0 && dataGridView1.Rows[0].Cells[2].Value.ToString() == text) { MessageBox.Show("Item found!!"); dataGridView1.CurrentCell = dataGridView1.Rows[src.Position].Cells[2]; } else if (src.Position == 0 && dataGridView1.Rows[0].Cells[2].Value.ToString() != text) { MessageBox.Show("Item not found!!"); } else { MessageBox.Show("Item found!!"); dataGridView1.CurrentCell = dataGridView1.Rows[src.Position].Cells[2]; } }

    Read the article

  • How do I allow edit only a particular column in datagridview in windows application using C#

    - by cmrhema
    Hi, I want to enable only two columns in the DataGridview to be able to edit. The others should not be allowed to edit. Further I am not directly linking to datasource; I will be doing some thing like this way DataTable dt = new DataTable(); dt.Columns.Add("Email"); dt.Columns.Add("email1"); for (int i = 0; i < 5; i++) { DataRow dr = dt.NewRow(); dr["Email"] = i.ToString(); dr["email1"] = i.ToString() + "sdf"; dt.Rows.Add(dr); } BindingSource bs = new BindingSource(); bs.DataSource = dt; dataGridView1.DataSource = bs; So which property should I set, that will enable only one column say Email(in the above eg) to be editable. Thanks

    Read the article

  • ToolStripComboBox.SelectedItem change does not propagate to binding source

    - by Marius
    My binding is set up as this: _selectXAxisUnitViewModelBindingSource = new BindingSource(); _selectXAxisUnitViewModelBindingSource.DataSource = typeof(SelectXAxisUnitViewModel); _selectedUnitComboBoxBindingSource = new BindingSource(); _selectedUnitComboBoxBindingSource.DataSource = _selectXAxisUnitViewModelBindingSource; _selectedUnitComboBoxBindingSource.DataMember = "AvailableUnits"; _selectedUnitComboBox.ComboBox.DataSource = _selectedUnitComboBoxBindingSource; _selectedUnitComboBox.ComboBox.DisplayMember = String.Empty; _selectedUnitComboBox.ComboBox.ValueMember = String.Empty; _selectedUnitComboBox.ComboBox.DataBindings.Add("SelectedItem", _selectXAxisUnitViewModelBindingSource, "SelectedUnit", true, DataSourceUpdateMode.OnPropertyChanged); // this is a bug in the .Net framework: http://connect.microsoft.com/VisualStudio/feedback/details/473777/toolstripcombobox-nested-on-toolstripdropdownbutton-not-getting-bindingcontext _selectedUnitComboBox.ComboBox.BindingContext = this.BindingContext; The property "AvailableUnits" is a collection of strings and the "SelectedUnit" is a string-property. Now the dropdown list is populated as expected, but when I select and item in the list, the change is not propagated to the binding source. Any idea what I am doing wrong?

    Read the article

  • How to save position after reload DataGridView

    - by bobik
    this is my code: private void getData(string selectCommand) { string connectionString = @"Server=localhost;User=SYSDBA;Password=masterkey;Database=C:\data\test.fdb"; dataAdapter = new FbDataAdapter(selectCommand, connectionString); DataTable data = new DataTable(); dataAdapter.Fill(data); bindingSource.DataSource = data; } private void button1_Click(object sender, EventArgs e) { getData(dataAdapter.SelectCommand.CommandText); } private void Form1_Load(object sender, EventArgs e) { dataGridView1.DataSource = bindingSource; getData("SELECT * FROM cities"); } after reload data on button1 click, cell selection jumps on first column and scrollbars is reset. How to save position of DataGridView?

    Read the article

  • Binding Data to DataGridView in VB.Net

    - by Peter
    Hi, I have a bit of code which loads data from a stored procedure in MS SQL Server and then loads the data to a datagridview, which works fine. What i want is for the code that connects / loads the data to sit in my Database Class and then everything associated with the datagridview to be stored in my Form but i am having problems passing the contents of the bindingsource over to the Form from the Database Class. Form1 Public Class Form1 Dim myDatabaseObj As New Class1() Dim bindingSource1 As New BindingSource() Dim connectString As New SqlConnection Dim objDataAdapter As New SqlDataAdapter Dim table As New DataTable() Dim tabletest As New DataTable() Private Sub loadCompanyList() Try Me.dgv_CompanyList.DataSource = Me.bindingSource1 getCompanyList() Catch ex As NullReferenceException End Try End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load loadCompanyList() End Sub End Class Database Class When i try place the getCompanyList() in a class and then create a new object that references the Form() it does not seem to return any value from the table to the MyForm.BindingSource1.Datasource meaning my datagridview displays not data. ..... Private Sub getCompanyList() Try Dim myForm as new Form() connect_Transaction_Database() objDataAdapter.SelectCommand = New SqlCommand() objDataAdapter.SelectCommand.Connection = connectString objDataAdapter.SelectCommand.CommandText = "sp_GetCompanyList" objDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure Dim commandBuilder As New SqlCommandBuilder(Me.objDataAdapter) Dim table As New DataTable() table.Locale = System.Globalization.CultureInfo.InvariantCulture Me.objDataAdapter.Fill(table) **MyForm.bindingSource1.DataSource = table** Catch ex As DataException MsgBox(ex.Message) Catch ex As NullReferenceException MsgBox(ex.Message) End Try disconnect_Transaction_Database() End Sub If anyone could help. Thank you. Peter

    Read the article

  • Synchronizing a collection of wrapped objects with a collection of unwrapped objects

    - by Kenneth Cochran
    I have two classes: Employee and EmployeeGridViewAdapter. Employee is composed of several complex types. EmployeeGridViewAdapter wraps a single Employee and exposes its members as a flattened set of system types so a DataGridView can handle displaying, editing, etc. I'm using VS's builtin support for turning a POCO into a data source, which I then attach to a BindingSource object. When I attach the DataGridView to the BindingSource it creates the expected columns and at runtime I can perform the expected CRUD operations. All is good so far. The problem is the collection of adapters and the collection of employees aren't being synchronized. So all the employees I create an runtime never get persisted. Here's a snippet of the code that generates the collection of EmployeeGridViewAdapter's: var employeeCollection = new List<EmployeeGridViewAdapter>(); foreach (var employee in this.employees) { employeeCollection.Add(new EmployeeGridViewAdapter(employee)); } this.view.Employees = employeeCollection; Pretty straight forward but I can't figure out how to synchronize changes back to the original collection. I imagine edits are already handled because both collections reference the same objects but creating new employees and deleting employees aren't happening so I can't be sure.

    Read the article

  • Datagridview DateTime Format not using System Region settings

    - by Nick
    I've got a datagridview that is hooked up to a bindingsource on my main form. One of the columns and datamembers in the bindingsource is a DateTime object. When the datagridview shows this item it doesn't use Window's default region settings for displaying datetime. The weird thing is, I can access this same DateTime object and print it to a text box, or even pass it off to another form with another datagridview and binding source and it actually shows up properly in that table. So then, why does the datagridview on my main form not use the regional date/time settings when converting the DateTime object to a string? I've checked that there was no special formatting applied to the datagridview and so I'm running out of ideas to check. Do you guys know if there is any super secret way to get a datagridview to follow system regional format rules or not? Also, since I highly doubt that I did something different with this datagridview vs the others in my application, the next potential area for issue could be on application load: Perhaps since this comes up when the application loads, it's not getting the same cultureUI settings as the other datagridviews? Any Help?

    Read the article

< Previous Page | 1 2 3 4  | Next Page >