|
Hi,
Am developing a winforms app using C#.
I am using binding source to design the forms.
I have a combobox with items "Yes" and "No"
depending on the selection of this I enable or disable a text box.
private void MyComboBox_TextChanged(object sender, EventArgs e)
{
if(MyComboBox.Text == "Yes")
{
textBox1.Enabled = true;
}
else
{
textox1.Text = "";
textbox1.Enabled = false;
}
}
Lets say I have selected "Yes" from the combobox and entered text into the textbox1 and save the input on save_click.
the value gets stored into the database.
Now if I go back to the form and edit it....I now change the combox to "NO". It clears the text in the textbox1 to "". When i click on save...it saves the record.
But the problem is that it is not updating it into the database.?
Any idea why this is happening or do i need to include more code into the event.
Help Appreciated..thanks,
|
|
|
|
|
You should be using the selected item changed event and not the Text Changed event. Also change your combo box to be of type DropDownList.
|
|
|
|
|
Can you tell me how to update the database when the binding source is modified please?
In this case the textBox text is being modified and I want to know how the selected item changed (i think ur trying to say SelectedIndexChanged event ?)
and changing the property of the combobox to dropdownlist would solve this issue?
Thanks,
|
|
|
|
|
Good morning.
Using Visual Studio 2008 (C# - Excel 2007 Add-in) I created a Excel 2007 Ribbon tab named Macros. It contains several buttons. I got some sample code online, but I can seem to run the macros. I have the following:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Core;
private void btnImport_Click(object sender, RibbonControlEventArgs e)
{
object oMissing = System.Reflection.Missing.Value;
Excel.ApplicationClass oExcel = new Excel.ApplicationClass();
oExcel.Visible = true;
Excel.Workbooks oBooks = oExcel.Workbooks;
Excel._Workbook oBook = null;
oBook = oBooks.Open("c:\\Book1.xlsx", oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
RunMacro(oExcel, new Object[] { "Import" });
}
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}
Any idea what might be an issue with the code? WHEELS
|
|
|
|
|
Update - I have the following:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Core;
using System.Windows.Forms;
namespace ExcelAddInCustomTab
{
public partial class RibbonCustom : OfficeRibbon
{
public RibbonCustom()
{
InitializeComponent();
}
private void btnFileImport_Click(object sender, RibbonControlEventArgs e)
{
Excel.ApplicationClass oExcel = new Excel.ApplicationClass();
RunMacro(oExcel, new Object[] { "FileImport" });
}
private void RunMacro(object oApp, object[] oRunArgs)
{
try
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}
catch (Exception ex)
{
MessageBox.Show(ex.InnerException.Message);
}
}
}
}
In the Excel 2007 spreadsheet, the Import tab shows up with the several buttons I set up. I am getting the following error: The macro may not be available in this workbook, or all macros may be disabled.
I checked all the trusted location and permission settings, and the add-in and macros are not disabled.
WHEELS
|
|
|
|
|
Hi Guys,
I am having troyble with a SQL query. When I run the same query in SQL Server management studio it works fine. When I try and pass it through C# string I get an error. I know it has to do with the sum(HoursWorked) portion of the query. What I want to do is the following. This is from SQL Server management studio:
SELECT TSPRojectCodeID, EmployeeID, sum(HoursWorked) AS "Total Hours"
FROM tblTimesheetDetails
WHERE TimeSheetDate >= '2010/07/01' AND TimeSheetDate <= '2010/07/30'
GROUP BY TSProjectCodeID, EmployeeID;
When I try and pass the same query in C# i get and error that reads as follows:"The Select statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect."
The code used is as follows:
public string processSQL()
{
string sql = null;
string inSql = null;
string firstPart = null;
string lastPart = null;
int selectStart = 0;
int fromStart = 0;
string[] fields = null;
string[] sep = { "," };
int i = 0;
TextObject MyText;
string startdate = fromDate.Value.ToString("yyyy/MM/dd");
string todate = toDate.Value.ToString("yyyy/MM/dd");
inSql = @" Select DISTINCT TSProjectCodeID, EmployeeID, SUM(HoursWorked) AS 'Total_Hours', FROM tblTimesheetDetails WHERE TimeSheetDate >= '" + startdate + "' AND TimeSheetDate <= '" + todate + "' AND TSProjectCodeID = '" + cmbprojects.Text.ToString() + "'ORDER BY TSProjectCodeID, EmployeeID, HoursWorked";
inSql = inSql.ToUpper();
selectStart = inSql.IndexOf("SELECT");
fromStart = inSql.IndexOf("FROM");
selectStart = selectStart + 15;
firstPart = inSql.Substring(selectStart, (fromStart - selectStart));
lastPart = inSql.Substring(fromStart, inSql.Length - fromStart);
fields = firstPart.Split(',');
firstPart = "";
for (i = 0; i <= fields.Length - 1; i++)
{
if (i > 0)
{
firstPart = firstPart + ", " + fields[i].ToString() + " AS COLUMN" + (i + 1);
firstPart.Trim();
MyText = (TextObject)objRpt.ReportDefinition.ReportObjects[i];
MyText.Text = fields[i].ToString();
}
else
{
firstPart = firstPart + fields[i].ToString() + " AS COLUMN" + (i +1);
firstPart.Trim();
MyText = (TextObject)objRpt.ReportDefinition.ReportObjects[i];
MyText.Text = fields[i].ToString();
}
}
sql = "SELECT " + firstPart + " " + lastPart;
return sql;
}
If you have any ideas or suggestions please let me know. I am about to give up on this!!
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Might not be whats' bugging you, but there's a comma before the "from" keyword;
TimeSheetDate, from tblTimesheetDetails
I are Troll
|
|
|
|
|
And please use a parameterized statement.
|
|
|
|
|
|
Kwagga wrote: The bold part is where the problem is!! As you can see there is a double assign to an Alias and I can't run the SUM without assigning it to an Alias!!
Wouldn't it get "COLUMN3" as a columnname of you omit it in the declaration?
inSql = @" Select DISTINCT TSProjectCodeID, EmployeeID, SUM(HoursWorked) FROM tblTimesheetDetails WHERE TimeSheetDate >= '" + startdate + "' AND TimeSheetDate <= '" + todate + "' AND TSProjectCodeID = '" + cmbprojects.Text.ToString() + "'ORDER BY TSProjectCodeID, EmployeeID, HoursWorked";
..or would you like to name it "Total_Hours", while the other columns remain mapped to a numbered alias?
I are Troll
|
|
|
|
|
Hi Eddy. I managed to get it to work OK. However, now I ams tuck on a another bit of an issue. My tblTimsheetDetails has data as follows:
TimesheetDetailID EmployeeID TimesheetID TSProjectCodeID TaskCode TimeSheetDate HoursWorked
100 F3309134 14 MT101 Test Execution (INT) 2010/07/09 4.00
56 F3309134 14 MT101 Test Support 2010/07/26 2.00
62 F3309134 14 MT101 Project Management 2010/07/27 3.00
66 F3309134 14 MT101 Meeting Project 2010/07/27 0.50
67 F3309134 14 MT101 Meeting Project 2010/07/28 0.50
69 F3309134 14 MT101 Project Management 2010/07/28 2.00
70 F3309134 14 MT101 Meeting Project 2010/07/29 1.00
61 F3309134 13 MT900/910 CR 2010/07/26 0.50
When I run the code I am expecting it to group all the MT101 stuff together and give me as single row with a total sum depending on the date range I select as inout. However, it lists thwm all with the individual timea. this is my first attempt at Crystal Reporting and I am hoping to publish this once I get it all to work 100%.
Ay help or suggestions would be great and it is appreciated mate.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Kwagga wrote: When I run the code I am expecting it to group all the MT101 stuff together and give me as single row with a total sum depending on the date range I select as inout. However, it lists thwm all with the individual timea.
Can you post the generated Sql? Might be something in the GROUP BY clause.
Kwagga wrote: this is my first attempt at Crystal Reporting and I am hoping to publish this once I get it all to work 100%.
I'm afraid I can't help you there; I don't have any experience in creating Crystal Reports. Been using MS-Access for far too long
I are Troll
|
|
|
|
|
Kwagga wrote: AS 'TOTAL_HOURS AS COLUMN3
That looks wrong.
|
|
|
|
|
using parameterised statements is a bit dodgy when it comes to crystal reports at run time. I am getting input from DateTimePickers and a pre-loaded comboBox with values from the Database, so SQWL injection is kinda limited or not possible.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
You can (and should) use parameterized queries with Crystal.
|
|
|
|
|
I managed to resolve the Issues without parameterized queries mate. Because I am creating the dataset at runtime and then populating it to a database at runtime and dynamically assigning them to columns I had to go the route I went. For some reason it is working perfect now. I understand that parameterized queries workes better and they are safer but I am tunning against an MS Access DB which is not that friendly with stored procedures as far as I have read.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Kwagga wrote: Access DB which is not that friendly with stored procedures
No one said anything about stored procedures.
Aren't you using parameters within Crystal?
|
|
|
|
|
Hi,
I have worked through the MSDN example of Creating an N-Tier Data Application. However, I'm struggling to get started with my 'save changes' functionality for a DataGridView . Can anyone offer any advice?
My solution consists of SQL Server 2008 (I'm using the NorthWind sample database to go along with the walkthrough linked above), a Data Access Tier, Data Entity Tier, DataService and Presentation Layer and currently my app displays the DataSet in two DataGridView s.
I understand the order of method invocations that is required to achieve what I want, but I'm struggling to get started with the coding of it. I.e capturing the changes made in the DataGridView , saving them to the DataSet and then committing the DataSet to the database via the DataService and Data Access Tier.
Apologies for the long post and if I have missed out any info that would help you answer my question.
Anthony
|
|
|
|
|
FYI: your hyperlink is incorrect, it refers to your own message.
|
|
|
|
|
Ah so it did, as I've corrected it.
Thanks for pointing that out.
|
|
|
|
|
Hey buddies !
I want to develop a WinForm Application (C#) in which i can navigate to next or previous Photos (in pictureBox control)..
Example :
> I have dragged a picturebox control on form.
> then dragged two button for next and previous.
> and i want that when i click on next button then another picture should be come (just like in windows picture and fax viewer)
> all picture should be in Resource file.
Hope so u guy are able to understant that what i want.i m a newbie, and i tried but not succeded...when i click first time on button next picture comes out but on second click nothing happens.
i m doing this..
on button click event code is as follow
picturebox1.Image = Properties.Resource.PIC1;//this event takes me to next image but not more forward.
help me out
|
|
|
|
|
You will either have to keep a record of where you are ("showing picture one", "showing picture two" ...) or check which picture you are displaying and move to the next.
if (picturebox1.Image == Properties.Resource.Pic1)
{
... Move to picture two
}
You could use if..else or switch , it depends on how many you have, and how you are with switch statements!
Me, I would set up an array of Images, loaded at form load from the resources, and have an integer index into it which I increment and check each time.
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
|
|
|
|
|
How to check the values of the checkbox true/false control in Datagridview and then post it values to the database?
|
|
|
|
|
Please read the instructions at the top of the page "How to get an answer to your question" before you post. "Hello Sir i am muthu from kumbakonam" is not a helpful subject for a question - instead describe your problem in a few words: "Use Checkbox in DataGridView" tells potential answerers a lot more, and doesn't waste thier time if they cannot help you.
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
|
|
|
|
|
Hi there,
when we want to use a function from a C dll, we have to declare it like:
[DllImport(ThirdPartyDll)]
private static extern int SomeFunction(string Param1, and so on);
Now, ThirdParty provides a row of dlls with all of them implementing that SomeFunction with the same signature (only some interenal parameters differ leading to different results). We want our users to select the dll they want to use for that purpose. That means, ThirdPartyDll in [DllImport(ThirdPartyDll)] must become a variable instead of a constant. But C# does not allow a variable at the DllImport declaration.
In old C++, that's possible, I do not remember the exact way, there was some use of function pointers.
But this is a program written in C# (.Net 2.0). How can we do that here?
Looking forward to your hints.
Bernhard
|
|
|
|