|
C**k!
You're right, of course - it works fine as local HTML, but won't work when served from IIS ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Maybe I need to explain better what I envisioned. User finds location of the pdf they just scanned in to a local network accessible location using a file finding dialogue. The path to that pdf is posted back to the controller. The post method then finds the file, copies it and then saves it with a guid in another more secure location.
|
|
|
|
|
Lmm Cams wrote: The post method then finds the file Just use a FileUpload control instead. Let the user pick what file to upload.
|
|
|
|
|
I have a DataTable as below:
Untitled — ImgBB[^]
For rows which have the same ID and Department if there were not at least a row that its planed end date and end date (C3 and C4) is the same, detect that ID and Department as inconsistent.
For example, for the given table, the answer should be like this:
3 — ImgBB[^]
Please guide me. I need an urgent help.
modified 7-Apr-21 13:46pm.
|
|
|
|
|
We can use Join() method to join columns 1,2 and 3 as keys and set column 4 as values of a dictionary.
Dictionary has ContainKeys() method which can be used to detect the same keys. If ContainKeys() method returned true, then check if Columns 3 and 4 are the same.
I cannot translate this idea into C# code. Maybe it's not correct.
Please help me.
Thanks
modified 7-Apr-21 14:34pm.
|
|
|
|
|
Do you have access to the source data? If so, you can do this within the sql.
For example:
SELECT id, department
FROM table
GROUP BY id, department, planned_end_date, end_date
HAVING COUNT(*) > 1
This will give you a list of id and department where there are at least 2 rows where dates do not match up.
|
|
|
|
|
No, I don't use SQL server. I retrieve my data from an Excel file. Actually I'm using DevExpress tools.
|
|
|
|
|
Finally, I found my own solution:
IWorkbook workbook = spreadsheetControl.Document;
Worksheet worksheet = workbook.Worksheets["DataSet1"];
CellRange range = worksheet.GetDataRange();
int LastRow = range.BottomRowIndex;
var detected_rows = new List<string>();
var mydic1 = new Dictionary<string, string>();
var keys1 = new List<string>();
var keys2 = new List<string>();
var keys3 = new List<string>();
var my_table4 = new DataTable();
for (int i = 1; i < LastRow + 1; i++)
{
if (worksheet.Cells[i, 10].DisplayText == "خاتمه یافته")
{
keys1.Add(string.Join(",", worksheet.Cells[i, 4].DisplayText, worksheet.Cells[i, 14].DisplayText, worksheet.Cells[i, 19].DisplayText));
keys2.Add(string.Join(",", worksheet.Cells[i, 26].DisplayText));
keys3.Add(string.Join(",", worksheet.Cells[i, 28].DisplayText));
}
}
for (int i = 0; i < keys1.Count; i++)
{
if (keys2[i] == keys3[i])
{
detected_rows.Add(keys1[i]);
}
}
for (int i = 0; i < keys1.Count; i++)
{
if (!mydic1.ContainsKey(keys1[i]))
{
mydic1.Add(keys1[i], keys2[i]);
}
}
for (int i = 0; i < detected_rows.Count; i++)
{
mydic1.Remove(detected_rows[i]);
}
List<string> my_keys = new List<string>(mydic1.Keys);
my_table4.Columns.Add("شماره دستورکار");
my_table4.Columns.Add("مرکز هزینه");
my_table4.Columns.Add("سال");
for (int i = 0; i < my_keys.Count; i++)
{
string text = my_keys[i];
string[] my_list = text.Split(',');
my_table4.Rows.Add(my_list[0], my_list[1], my_list[2]);
}
spreadsheetControl.Invoke((MethodInvoker)delegate { CreateSheet("Error Detection"); });
spreadsheetControl.Invoke((MethodInvoker)delegate { ClearSheet("Error Detection"); });
spreadsheetControl.Invoke((MethodInvoker)delegate { Filldata("Error Detection", my_table4, 0, 0, true); });
|
|
|
|
|
What is the fastest way of knowing whether an integer is odd or even?
|
|
|
|
|
|
Won't compile in C#!
if ((number & 0x01) == 1)
{
...
[edit] nor would my original ... precedence rulezz[/edit]
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I still tend to think in C.
|
|
|
|
|
No worries, the principle still stands
|
|
|
|
|
|
|
I thought so - sometime I'll have to look at the IL to see why ...
But if you are looking for some real micro optimizations, this may be of use: Writing IL code on Visual Studio[^]
I haven't used it but it looks interesting, and I still believe that a human can produce better machine code than a compiler!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
No, that's wrong. It's a classic case of "measuring time but not looking at what the time was measured of".
The best the remainder solution can hope for, is that the JIT compiler recognizes it and turns it into the equivalent of the bitwise-AND solution, which happens for uint but not int . So at best it is the exact same code running, any differences observed in timing are just timing noise. And sometimes (eg for int ), it's just straight up worse to use the remainder instead of bitwise AND.
|
|
|
|
|
I use this:
public static bool IsOdd(this int value)
{
return (value % 2 == 1);
}
Is it the best method? I don't know, and can't say. Is it the fastest? I don't care. Is that odd? Lemme check...
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Well stop using it, -1 % 2 = -1 so it doesn't work for negative inputs, it's a nasty trap.
|
|
|
|
|
So use return (Math.Abs(value%2) == 1) . It's not that nasty.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Sure, now it just throws an exception for int.MinValue . But value % 2 != 0 works.
|
|
|
|
|
You're going to have to test on your own machine.
On mine, 2,000,000,000 iterations of % or bitwise mask with 0x01 can be done in 494 to 499 milliseconds using either operation.
So, how picky do you want to be with a couple thousands of a second across 2 billion operations?
|
|
|
|
|
I won't be that picky. It's more a question of curiosity.
|
|
|
|
|
Hi,
I have a DataTable named dt .
It has 4 columns and 2000 rows. Columns are Code, Department, Part, Status, respectively. In my app, Department can be 4 checkboxes (Electrical, Mechanical, R&D, Industrial Engineering). Part can be checkboxes named North, East, West. Status can be checkboxes named Ended, In Progress.
I have checked Electrical and Mechanical in Department checkboxes, West and North in Part checkboxes, Inprogress in Status checkboxes (it can take any order of checked checkboxes).
I want to remove rows which don't satisfy my conditions (remove based on checkboxes)
What is the best solution?
I think I should create a list for indexes to be removed. But, I don't exactly know how to fill that list correctly based on those check boxes.
Let's clear it. I use Dev Express Spreadsheet in my own project. I deliver the whole spreadsheet into a DataTable. I use those checkboxes (toggle check) as settings in my menu, not in every row. Those are just settings that the user sets before pressing the calculation button.
modified 2-Apr-21 0:12am.
|
|
|
|
|
I think you should scrap the whole thing and rethink your entire UI.
2000 rows, each with a variety of checkboxes?
How do you expect any user to actually use that? Did you even try it past the first page? How long do you think it's going to take to set up all the checkboxes ready to press the "delete" button, check that they have the right ones - and no wrong ones?
I have no idea what exactly you want to do, but I am pretty sure that that isn't the right idea.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|