Search Results

Search found 542 results on 22 pages for 'datagridview'.

Page 12/22 | < Previous Page | 8 9 10 11 12 13 14 15 16 17 18 19  | Next Page >

  • Mark row as deleted in dataTable on

    - 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

  • 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 calculate unbound column value based on value of bound colum in DatagGridView?

    - by Wodzu
    Hi. I have few columns in my DataGridView, one of them is an unbound column and the DataGridVIew is in VirtualMode. When CellValueNeeded event is called, I want to calculate value of Cells[0] basing on the value of Cells[2] which is in bounded column to the underlaying DataSource. This is how I try to do this: private void dgvItems_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { e.Value = dgvItems.CurrentRow.Cells[2].Value * 5; //simplified example } However, I am getting System.StackOverflowException because it seams that call to dgvItems.CurrentRow.Cells[2].Value results in call to another CellValueNeeded event. And so on and so on... However Cells[2] is not an unbound column, so on common sense it should not result in recursive call unless getting value of any column(bound or unbound) firest that event... I can not use here SQL Expression and I can not precalculate e.Value in any SQL call. In real example Cells[2].Value is a key used in HashTable which will return a correct value for the Cells[0] (e.Value). What can I do?

    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

  • [C#]Update Datatable and DatagridView with database Changes by Timer

    - by aleroot
    Scenario : i have a database table that is being apdated frequently bey some services. I have a c# Winform Application that load this table in a datagridview by binding a datatable as Datasource, then i whant to add a Timer that every 10 seconds update a the content of a datatable with the last changes in the database table ... I don't need to update a database with the datatable changes, but i need to update datatable with the last changes in the database table, that is the inverse of the usually.... Is there a way to do that ? What is the best way ? i've tried with this code : private void ServiceTimer_Tick(object state) { OdbcConnection oCon = new OdbcConnection(); oCon.ConnectionString = ConnectionStrings; OdbcDataAdapter dp = new OdbcDataAdapter("SELECT * FROM table", oCon); dsProva.Tables.Clear(); dp.Fill(dsProva,"table"); dataGridViewMessaggi.DataSource = dsProva.Tables["table"]; dataGridViewMessaggi.Refresh(); } But every Timer Tick i lost the selection in DatagridView and Current Row .... Is There a better solution ?

    Read the article

  • How do you use data binding in C# development ?

    - by MemoryLeak
    Recently I use data binding to speed up my development of C# winforms application. But I found that data binding is just useful when the control is Textbox or textare and text kind of controls. If things come to be radio button, image control or datagridview, it's hard for me to use data binding. For example, it's hard for me to bind a group of radio button to a database field. It's hard for me to pre-process the data in database and then bind to datagridview control(I know I can use view to do this, but it is not that convenient) So I really want to know, most of you guys when will use data binding? And how will you use it ?

    Read the article

  • Update Datatable and DatagridView with database Changes by Timer

    - by aleroot
    Scenario : i have a database table that is being updated frequently by some services. I have a c# Winforms Application that load this table in a datagridview by binding a datatable as Datasource, then i whant to add a Timer that every 10 seconds update a the content of a datatable with the last changes in the database table ... I don't need to update a database with the datatable changes, but i need to update datatable with the last changes in the database table, that is the inverse of the usually.... Is there a way to do that ? What is the best way ? i've tried with this code : private void ServiceTimer_Tick(object state) { OdbcConnection oCon = new OdbcConnection(); oCon.ConnectionString = ConnectionStrings; OdbcDataAdapter dp = new OdbcDataAdapter("SELECT * FROM table", oCon); dsProva.Tables.Clear(); dp.Fill(dsProva,"table"); dataGridViewMessaggi.DataSource = dsProva.Tables["table"]; dataGridViewMessaggi.Refresh(); } But every Timer Tick i lost the selection in DatagridView and Current Row .... Is There a better solution ?

    Read the article

  • Which data structure for List of objects + datagrid wiev

    - by Martin
    Hi, I have to develop a code which will store a list of objects, as example below 101, value 11, value 12, value 13 ...etc 102, value 21, value 22, value 23 ...etc 103, value 31, value 32, value 33 ...etc 104, value 41, value 42, value 43 ...etc Now, the difficulty is, that first column is an identifier, and whole table should always be sorted by it. Easy access to each element is required. Additionally, list should be easily updated, and extended by adding element at the end as well as in front and still keep being sorted by first column. Finally, I would like to be able to display values of the above in datagridview. What is most important is a performance of the implementation, as rows will be updated many times per second, and datagridview should be able to display all changes immediately. I was thinking about creating class for the values, and then a Dictionary but encountered a problem with displaying values in gridview. What would be the most optimal way of implementing the code? Thanks in advance Martin

    Read the article

  • BindingSource.Filter does not work with affected rows in DataSet

    - by Artru
    I created DataGridView in WinForms App. Then at the initializing create DataSet and fill it with some data, bind to DataGridView . I added textBox as a filter. `myBindingSource = new BindingSource(); myBindingSource.DataSource = ds; myBindingSource.DataMember = dt.TableName; dataGridView1.DataSource = myBindingSource;` string strCmd = "some filter query"; myBindingSource.Filter = strCmd; It works fine with filtering. If I add or delete any row to the DataSet then new data will occur in dridview, BUT filter will not work with new data. As I found on the forums there is a Table cash, which .NET uses for filter and I want to refresh it. How can I do it?

    Read the article

  • C# Same DataSource + Multiple DataGridViews = Data Binding Issues?

    - by C. Griffin
    Here's what I'm doing: I have (2) DataGridView controls DGV #1 is bound to the DataSet, DGV #2 is bound to a DataView of the SAME DataSet Now, what I'm needing to accomplish here is this: When a user checks a boolean column on the original DGV, the second DGV should now display the newly checked row also. The context is that the first DGV is a master list, and the second one is a "favorite" view of the first. When I check the rows, the favorite column does NOT update. Do I need to use a DataAdapter to actually update the database, or can I operate directly on the DataSet (DataTable) -- or even with the Rows in the original DataGridView?

    Read the article

  • Usercontrol databinding within a databound datagridview

    - by user328259
    Good day. I'm developing a Windows application and working with Windows Forms; .Net 2.0. I have an issue databinding a generic List of Car Rental Companies to a DataGridView when that list contains (one of its properties) anoother generic List of Car Makes. I also have a UserControl that I need to bind to this [inner] generic list ... Class CarRentalCompany contains: string Name, string Location, List CarMakes Class CarMake contains: string Name, bool isFord, bool isChevy, bool isOther The UserControl has a label for CarMake.Name and 3 checkboxes for each of the booleans of the class. HOw do I make this user control bindable for the class? In my form, I have a DataGridView binded to the CarRentalCompany object. The list CarMakes could be 0 or more items and I can add these as necessary. How do I establish the binding of CarRentalCompanies properly so CarMakes will bind accordingly?? For example, I have: List CarRentalCompanies = new List(); CarRentalCompany company1 = new CarRentalCompany(); company1.Name = "Acme Rentals"; company1.Location = "New York, NY"; company1.CarMakes = new List<CarMake>(); CarMake car1 = new CarMake(); car1.Name = "The Yellow Car"; car1.isFord = true; car1.isChevy = false; car1.isOther = false; company1.CarMakes.Add(car1); CarMake car2 = new CarMake(); car2.Name = "The Blue Car"; car2.isFord = false; car2.isChevy = true; car2.isOther = false; company1.CarMakes.Add(car2); CarMake car3 = new CarMake(); car3.Name = "The Purple Car"; car3.isFord = false; car3.isChevy = false; car3.isOther = true; company1.CarMakes.Add(car3); CarRentalCompanies.Add(company1); CarRentalCompany company2 = new CarRentalCompany(); company1.Name = "Z-Auto Rentals"; company1.Location = "Phoenix, AZ"; company1.CarMakes = new List<CarMake>(); CarMake car4 = new CarMake(); car4.Name = "The OrangeCar"; car4.isFord = true; car4.isChevy = false; car4.isOther = false; company2.CarMakes.Add(car4); CarMake car5 = new CarMake(); car5.Name = "The Red Car"; car5.isFord = true; car5.isChevy = false; car5.isOther = false; company2.CarMakes.Add(car5); CarMake car6 = new CarMake(); car6.Name = "The Green Car"; car6.isFord = true; car6.isChevy = false; car6.isOther = false; company2.CarMakes.Add(car6); CarRentalCompanies.Add(company2); I load my form and in my load form I have the following: Note: CarDataGrid is a DataGridView BindingSource bsTheRentals = new BindingSource(); DataGridViewTextBoxColumn companyName = new DataGridViewTextBoxColumn(); companyName.DataPropertyName = "Name"; companyName.HeaderText = "Company Name"; companyName.Name = "CompanyName"; companyName.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; DataGridViewTextBoxColumn companyLocation = new DataGridViewTextBoxColumn(); companyLocation.DataPropertyName = "Location"; companyLocation.HeaderText = "Company Location"; companyLocation.Name = "CompanyLocation"; companyLocation.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; ArrayList carMakeColumnsToAdd = new ArrayList(); // Loop through the CarMakes list to add each custom column for (int intX=0; intX < CarRentalCompanies.CarMakes[0].Count; intX++) { // Custom column for user control string carMakeColumnName = "carColumn" + intX; CarMakeListColumn carMakeColumn = new DataGridViewComboBoxColumn(); carMakeColumn.Name = carMakeColumnName; carMakeColumn.DisplayMember = CarRentalCompanies.CarMakes[intX].Name; carMakeColumn.DataSource = CarRentalCompanies.CarMakes; // this is the CarMAkes List carMakeColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; carMakeColumnsToAdd.Add(carMakeColumn); } CarDataGrid.DataSource = bsTheRentals; CarDataGrid.Columns.AddRange(new DataGridViewColumn[] { companyName, companylocation, carMakeColumnsToAdd }); CarDataGrid.AutoGenerateColumns = false; The code I provided does not work because I am unfamiliar with UserControls and custom DataGridViewColumns and DataGridViewCells - I know I must derive from these classes in order to use my User Control properly. I appreciate any advice/assistance/help in this. Thank you. Lawrence

    Read the article

  • how to get out information from datagridview ???

    - by ghost_j1
    hi everyone I am working on program that calculate the GBA for university student in visual c# So i make an datagridview that contain columns for each subject and its mark as later and number but after the user "student" insert his subject i want to let him to press button that get the mark and the number of the cirdit hours of each subject and calculate the GBA for the student and put the result in textbox... does anyone can help me to do it ???

    Read the article

  • Add Imagebutton to DataGridView in C#

    - by espais
    I am trying to do a simple 'Delete Row' button in a DataGridView that I have, but the problem is that I would like it to be an ImageButton rather than a simple Button. Currently I have it setup to be a ButtonColumn, but have seen no possibility for changing it from a simple button with text to a button with an image on it. I know this is possible and hopefully relatively simple, but am unsure of how to go about doing it.

    Read the article

  • how to work with datagridview if need show many columns data (approx 1Mio)

    - by ruprog
    is a problem to display data in Datagridview. A large amount of data (stock quotes) data to be displayed from left to right Tell me what to do to display an array of data in datagridviev Public dat As New List(Of act) Public Class act Public time As Date Public price As Integer End Class Sub work() Dim r As New Random For x As Integer = 0 To 1000000 Dim el As New act el.time = Now el.price = r.Next(0, 1000) dat.Add(New act) Next End Sub

    Read the article

  • Programmatically adding an object and selecting the correspondig row does not make it become the CurrentRow

    - by Robert
    I'm in a struggle with the DataGridView: I do have a BindingList of some simple objects that implement INotifyPropertyChanged. The DataGridView's datasource is set to this BindingList. Now I need to add an object to the list by hitting the "+" key. When an object is added, it should appear as a new row and it shall become the current row. As the CurrentRow-property is readonly, I iterate through all rows, check if its bound item is the newly created object, and if it is, I set this row to "Selected = true;" The problem: although the new object and thereby a new row gets inserted and selected in the DataGridView, it still is not the CurrentRow! It does not become the CurrentRow unless I do a mouse click into this new row. In this test program you can add new objects (and thereby rows) with the "+" key, and with the "i" key the data-bound object of the CurrentRow is shown in a MessageBox. How can I make a newly added object become the CurrentObject? Thanks for your help! Here's the sample: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { BindingList<item> myItems; public Form1() { InitializeComponent(); myItems = new BindingList<item>(); for (int i = 1; i <= 10; i++) { myItems.Add(new item(i)); } dataGridView1.DataSource = myItems; } public void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Add) { addItem(); } } public void addItem() { item i = new item(myItems.Count + 1); myItems.Add(i); foreach (DataGridViewRow dr in dataGridView1.Rows) { if (dr.DataBoundItem == i) { dr.Selected = true; } } } private void btAdd_Click(object sender, EventArgs e) { addItem(); } private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Add) { addItem(); } if (e.KeyCode == Keys.I) { MessageBox.Show(((item)dataGridView1.CurrentRow.DataBoundItem).title); } } } public class item : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private int _id; public int id { get { return _id; } set { this.title = "This is item number " + value.ToString(); _id = value; InvokePropertyChanged(new PropertyChangedEventArgs("id")); } } private string _title; public string title { get { return _title; } set { _title = value; InvokePropertyChanged(new PropertyChangedEventArgs("title")); } } public item(int id) { this.id = id; } #region Implementation of INotifyPropertyChanged public void InvokePropertyChanged(PropertyChangedEventArgs e) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) handler(this, e); } #endregion } }

    Read the article

  • DataGridViewColumn.DataPropertyName Property

    - by Captain Comic
    Hi I have a DataGridView control and I want to populate it with data. I use DataSource property // dgvDealAsset is DataGridView private void DealAssetListControl_Load(object sender, EventArgs e) { dgvDealAssets.AutoGenerateColumns = false; dgvDealAssets.DataSource = DealAssetList.Instance.Values.ToList(); } Now problem number one. The class of my collection does not contain only simple types that I can map to columns using DataPropertyName. This is the class that is contained in collection. class MyClass { public String Name; MyOtherClass otherclass; } class MyOtherClass { public String Name; } Now I am binding properties of MyClass to columns col1.DataPropertyName = "Name" // Ok col2.DataPropertyName = "otherclass" // Not OK - I will have empty cell The problem is that I want to display otherclass.Name field. But if I try to write col2.DataPropertyName = "otherclass.Name" I get empty cell. I tried to manually set the column private void DealAssetListControl_Load(object sender, EventArgs e) { dgvDealAssets.AutoGenerateColumns = false; dgvDealAssets.DataSource = DealAssetList.Instance.Values.ToList(); // iterate through rows and set the column manually foreach (DataGridViewRow row in dgvDealAssets.Rows) { row.Cells["Column2"].Value = ((DealAsset)row.DataBoundItem).otherclass.Name; } But this foreach cycle takes about minute to complete (2k elements). How to solve this problem?

    Read the article

  • how can I add a custom non-DataTable column to my DataView, in a winforms ADO.net application?

    - by Greg
    Hi, How could I (/is it possible) to add a custom column to my DataView, and in this column display the result of a specific calculation. That is, I currently have a dataGridView which has a binding to a DataView, based on the DataTable from my database. I'd like to add an additional column to the dataGridView to display a number which is calculated by looking at this current row plus it's children row. In other words the info for the column isn't just derivable from the row data itself. Specific questions might be: a) where to add the column itself? to the DataView I assume? b) which method / event to trigger the re-calculation of the value of this custom column from ( / how do I control this) Thanks PS. I've also noted if I use the following code/approach I get a infinite loop... // Custom Items DataColumn dc = new DataColumn("OverallSize", typeof(long)); DT_Webfiles.Columns.Add(dc); DT_Webfiles.RowChanged += new DataRowChangeEventHandler(DT_Row_Changed); private static void DT_Row_Changed(object sender, DataRowChangeEventArgs e) { e.Row["OverallSize"] = e.Row["OverallSize"] ?? 0; e.Row["OverallSize"] = (long)e.Row["OverallSize"] + 1; } What other approach could avoid this looping. i.e. currently I'm saying update the value of the custom column when the row changes, however after then changing the row it triggers antoher 'row has changed' event...

    Read the article

  • DatagGridViewColumn.DataPropertyName to an array element?

    - by unknown
    Hi there, I'm using a DataGridView binding its datasource to a List, and specifying the properties for each column. An example would be: DataGridViewTextBoxColumn colConcept = new DataGridViewTextBoxColumn(); DataGridViewCell cell4 = new DataGridViewTextBoxCell(); colConcept.CellTemplate = cell4; colConcept.Name = "concept"; colConcept.HeaderText = "Concept"; colConcept.DataPropertyName = "Concept"; colConcept.Width = 200; this.dataGridViewBills.Columns.Add(colConcept); {... assign other colums...} And finally this.dataGridViewBills.DataSource=billslist; //billslist is List<Bill> Obviously Class Bill has a Property called Concept, as well as one Property for each column. Well, now my problem, is that Bill should have and Array/List/whateverdynamicsizecontainer of strings called Years. Let's assume that every Bill will have the same Years.Count, but this only known at runtime.Thus, I can't specify properties like Bill.FirstYear to obtain Bill.Years[0], Bill.SecondYear to obtain Bills.Years[1]... etc... and bind it to each column. The idea, is that now I want to have a grid with dynamic number of colums (known at runtime), and each column filled with a string from the Bill.Years List. I can make a loop to add columns to the grid at runtime depending of Bill.Years.Count, but is possible to bind them to each of the strings that the Bill.Years List contains??? I'm not sure if I'm clear enough. The result ideally would be something like this, for 2 bills on the list, and 3 years for each bill: --------------------------------------GRID HEADER------------------------------- NAME CONCEPT YEAR1 YEAR2 YEAR3 --------------------------------------GRID VALUES------------------------------- Bill1 Bill1.Concept Bill1.Years[0] Bill1.Years[1] Bill1.Years[2] Bill2 Bill2.Concept Bill2.Years[0] Bill2.Years[1] Bill2.Years[2] I can always forget the datasource, and write each cell manually, as the MSFlexGrid used to like, but if possible, I would like to use the binding capabilities of the DataGridView. Any ideas? Thanks a lot.

    Read the article

  • multicolumn sorting of WinForms DataGridView

    - by Bi
    I have a DataGridView in a windows form with 3 columns: Serial number, Name, and Date-Time. The Name column will always have either of the two values: "name1" or "name2". I need to sort these columns such that the grid displays all the rows with name values in a specific order (first display all the "name1" rows and then all the "name2" rows). Within the "name1" rows, I want the rows to be sorted by the Date-Time. Please note programmatically, all the 3 columns are strings. For example, if I have the rows: 01 |Name1 | 2010-05-05 10:00 PM 02 |Name2 | 2010-05-02 08:00 AM 03 |Name2 | 2010-05-01 08:00 AM 04 |Name1 | 2010-05-01 11:00 AM 05 |Name1 | 2010-05-04 07:00 AM needs to be sorted as 04 |Name1 | 2010-05-01 11:00 AM 05 |Name1 | 2010-05-04 07:00 AM 01 |Name1 | 2010-05-05 10:00 PM 03 |Name2 | 2010-05-01 08:00 AM 02 |Name2 | 2010-05-02 08:00 AM I am not sure how to go about using the below: myGrid.Sort(.....,ListSortDirection.Ascending)

    Read the article

< Previous Page | 8 9 10 11 12 13 14 15 16 17 18 19  | Next Page >