|
My recommendation would be to consider DataGrid to be used here. DataGrid supports this kind of behavior, all you would need to do in order to change the columns would be to change the data source. Instead of having to manage and maintain a ListView control, and then handle the change yourself, DataGrid can really make things simpler and DataGrid also provides the best suitable control for that data type; combobox for enum, textbox for string, checkbox for bool etc.
However, you did not mention the framework in use (WPF or WinForms), thus I will provide the link for the better framework (WPF), DataGrid Class (System.Windows.Controls). Finally,
danmor498 wrote: even when they are empty with a textbox This is something that I cannot understand. What do you mean, "even when they are empty"? If the TextBox is disabled, enable it and edit it.
Go through this CodeProject article as well, Using the DataGrid Control.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
need to click on it when empty to fill it with data
and it's for WinForms
i have a datagridview that look like a listview it is flikering at each line entry
this is wy the Listview
DanMor498
|
|
|
|
|
How many rows are you adding?
If large, by large i mean thousands I would look at double buffering the DataGridView or even looking a virtual mode.
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
A Max of 25 rows for printing facility
it's a time start, description, time end, 3 columns for entering report by hours for agent
Thank you for your time and help. Is there na way for me to send you a image of what it is
|
|
|
|
|
I am trying to get the code below to work, but I can't figure it out. Can someone guide me to solve this issue? The code is ready to be copied to a console application.
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Vehicle<Actions> aCar = new Car();
Vehicle<Actions> anAirplane = new Airplane();
List<Vehicle<Actions>> list = new List<Vehicle<Actions>>()
{
aCar,
anAirplane
};
foreach (var vehicle in list)
{
vehicle.actions.ID = "any";
vehicle.actions.PerformAction();
}
Console.WriteLine("Good");
}
}
public interface IVehicle<TActions> where TActions : IActions
{
TActions actions { get; set; }
}
public class Vehicle<TActions> : IVehicle<TActions> where TActions : Actions
{
TActions _actions;
public TActions actions { get => _actions; set => _actions = value; }
}
public class Car : Vehicle<CarActions>
{
public int Wheels { get; set; }
}
public class Airplane : Vehicle<AirplaneActions> {}
public interface IActions
{
string ID { get; set; }
void PerformAction();
}
public abstract class Actions : IActions
{
public string ID { get ; set; }
public abstract void PerformAction();
}
public class CarActions : Actions
{
int speed;
public override void PerformAction()
{
speed = 50;
}
}
public class AirplaneActions : Actions
{
int Height;
public override void PerformAction()
{
Height = 5000;
}
}
}
modified 11-Oct-17 18:50pm.
|
|
|
|
|
Your car does not implement any actions; would you expect the class to implement those actions? Did any of the vehicles get hurt?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I don't think that's the immediate problem.
|
|
|
|
|
Don't spoil my fun yet; I still need to bring up proper XML-documentation, FXCop and StyleCop
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
The Car does implement an action (set the speed value), but that is irrelevant. Bottom line, the Car needs to be a Vehicle and as a vehicle in must be able to perform an action but the action is dependent of the type of vehicle:
Vehicle<Actions> myVehicle = new Car();
Vehicle<Actions> myVehicle2 = new Airplane
myVehicle.PerformActions();
myVehicle2.PerformActions();
|
|
|
|
|
I can get it to work compile this way:
IVehicle<IActions> aCar = (IVehicle<IActions>) new Car();
But it won't run successfully.
And, you'll need to instantiate the actions as well:
IVehicle<IActions> aCar = (IVehicle<IActions>) new Car() { actions = new CarActions() } ;
This just in! Made major changes to your code, but it works.
public interface IVehicle<TActions> where TActions : IActions
{
IActions actions { get; set; }
}
public class Vehicle<TActions> : IVehicle<TActions> where TActions : IActions
{
public IActions actions { get ; set; }
}
public class Car : Vehicle<CarActions> , IVehicle<IActions>
{
public int Wheels { get; set; }
}
public class Airplane : Vehicle<AirplaneActions> , IVehicle<IActions>
{
}
modified 12-Oct-17 0:16am.
|
|
|
|
|
Thanks for the suggestions.
|
|
|
|
|
It looks like you need to use generic covariance:
Covariance and Contravariance in Generics | Microsoft Docs[^]
You'll need to use the IVehicle<T> interface instead of the Vehicle<T> class, since generic covariance doesn't work with classes.
You'll also need to remove the setter for the actions property, since that would break the rules for covariance.
The changes you need:
public interface IVehicle<out TActions> where TActions : IActions
{
TActions actions { get; }
}
public abstract class Vehicle<TActions> : IVehicle<TActions> where TActions : Actions
{
public abstract TActions actions { get; }
}
public class Car : Vehicle<CarActions>
{
public int Wheels { get; set; }
public override CarActions actions { get; } = new CarActions();
}
public class Airplane : Vehicle<AirplaneActions>
{
public override AirplaneActions actions { get; } = new AirplaneActions();
}
...
static void Main(string[] args)
{
IVehicle<IActions> aCar = new Car();
IVehicle<Actions> anAirplane = new Airplane();
List<IVehicle<IActions>> list = new List<Vehicle<Actions>>
{
aCar,
anAirplane
};
foreach (var vehicle in list)
{
vehicle.actions.ID = "any";
vehicle.actions.PerformAction();
}
Console.WriteLine("Good");
}
The sample still won't do anything useful, but it should get you started.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks Richard
That did the trick!
|
|
|
|
|
I knew it needed covariance, but I had never needed to mess with that.
I got it working today.
|
|
|
|
|
How to upload file in mongodb using gridFS and Windows Form application? Please give a working example source code. I am beginner with mongodb.
|
|
|
|
|
We aren't here as a code-to-order service: for that you would need Freelancer.com.
But be aware: you get what you pay for. Pay peanuts, get monkeys.
The idea of "development" is as the word suggests: "The systematic use of scientific and technical knowledge to meet specific objectives or requirements." BusinessDictionary.com[^]
That's not the same thing as "have a quick google and give up if I can't find exactly the right code".
So either pay someone to do it, or learn how to write it yourself. We aren't here to do it for you.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
So tell me how can I do that job.
|
|
|
|
|
Read what I said.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Mongo provides some decent documentation.
GridFS
Right off their main C# driver documentation.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
I want to import a spanish dictionary in my c# program
Thanks
Carlos
|
|
|
|
|
carlos read the 2 sticky messages at the top of this page and try again.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Excellent. This means that you have the beginnings of a specification for what you want your program to do. Now, you need to take this a step further and start to break this down into a more refined set of specifications. For instance, do you want to bundle the dictionary itself into your program, or do you want to use some form of RESTful API to do the lookups? Is this dictionary going to allow the user to add words? Once you have a fuller specification, and have some idea what it is that you are really trying to do, please feel free to come back at that point and ask for more information.
This space for rent
|
|
|
|
|
You have my full permission to do that. You may carry on to the next stage.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Did he fill our form "permit 838[^]"?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
In triplicate! Countersigned by an officer of rank 65E/44 or higher, and with the tax stamp applied.
First time I've seen that in a beginner. Hmm. I think we have a mole in the department...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|