|
Hi, I am trying to use PathGradientBrush in my C#/WPF application, but I keep getting error "The type/namespace PathGradientBrush not found".
Is that specificit to a particular .Net version?
Thanks!
|
|
|
|
|
PathGradientBrush is a Windows Forms brush, not a WPF brush. You cannot apply it in WPF.
|
|
|
|
|
|
hi to friends
how to load contact list(jabber xmpp) in listview with status icon? wpf dont have image list...!
i use this code in windows form application :
private void OnPresence(object sender, agsXMPP.protocol.client.Presence pps)
{
if (base.InvokeRequired == true)
{
base.BeginInvoke(new agsXMPP.protocol.client.PresenceHandler(OnPresence), new object[] { sender, pps });
}
else
{
if (pps.Type == PresenceType.available)
{
for (var i = 0; i < listView1.Items.Count; i++)
{
ListViewItem item = listView1.Items.Add(pps.From.User, 0);
}
}
try
{
if (pps.Type == PresenceType.unavailable)
{
for (var i = 0; i < listView1.Items.Count; i++)
{
ListViewItem item = listView1.Items.Add(pps.From.User, 1);
}
}
}
catch
{ }
}
}
ListViewItem item = listView1.Items.Add(pps.From.User, 0); > load online contact with green icon 0
istViewItem item = listView1.Items.Add(pps.From.User, 1); > load offline contact with red icon 1
and can you help me to load contact with status icon In WPF Listview??? like this image :
http://i62.tinypic.com/v7dphi.png[^]">
|
|
|
|
|
Well, I would look to use a DataTemplate to satisfy this need. It would consist of an Image and a TextBlock. Oh, I would also have this data being presented as some form of list to the UI, and bind to that list. Have a look at some samples on MVVM to get some practical examples.
|
|
|
|
|
Recently, I create a mystery number game and i want to add graphic in it. But I create them for console and now I want to add graphic. I have listen that WPF can do that somebody can explain me what is it and give to me link to know how to use?
Thanks
|
|
|
|
|
A link isn't going to do it for you. The learning curve for Windows Presentation Foundation, an alternative to Windows Forms, is pretty steep. You'd be much better off picking up a book or two on the subject.
|
|
|
|
|
As Dave says above, the learning curve for WPF is quite steep. But you can get a flavour of it by looking at some of the CodeProject articles[^].
|
|
|
|
|
|
|
I am writing a small app (XMAL/C#/WPF/EF/LINQ) and trying to get my head around the LINQ syntax (I was much happier with SQL). Anyhow, I am having problems returning an ItemSource using the following code:
var sel = (from o in db.r2_machine group o by o.factory into g select g.Key).ToList();
sel = sel.Where(c => c.product_family == TxtProductFamily.Text);
TxtProductFactory.ItemsSource = sel;
I am not sure what I am doing wrong, but I want to display all of the "Factory" fields (grouped), where the "product_family" matches that of one of my comboboxes.
However, the c.product_family value is giving me a compile error and not coming up in the Intellisense list.
NB: Sorry about the semi-colon that got in there when I pasted it in.
modified 9-Jun-14 11:22am.
|
|
|
|
|
Take out the semicolon:
...sel.Where(c =>; c.product_family... Becomes:
...sel.Where(c => c.product_family...
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
Sorry about that - it was an issue when I pasted it.
|
|
|
|
|
Is the product_family defined on the r2_machine ? Your first line is pulling back a list of factories, so if your factory class doesn't have that field, your filter is too late.
Try:
var sel = (from o in db.r2_machine
where o.product_family == TxtProductFamily.Text
group o by o.factory into g
select g.Key).ToList();
If you haven't already seen it, LINQPad[^] is a good place to start learning the syntax.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
That's perfect - thank you so much.
|
|
|
|
|
In the Name of God
Hi
I have 2 question
1)does Filebrowser control have ablitty to search and select multiple photo at the same time?
if it is so how?
2)I want to split a cell to multiple row in gridline in C#
if you know suitable software or source code i need your help
For example, a person whose name is Jhon and has several job i want to show him in a one row with all his job
name job
jhon programmer
actor
thanks
|
|
|
|
|
1. Which one of these controls[^] are you interested in?
2. You may need to write the code for that yourself.
|
|
|
|
|
Don't post this everywhere - it duplicates work and annoys people.
You have this posted in QA, leave it there!
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
Hi All!
I'm developing a C# Windows Forms application, connected with an SQL DB.
The main problem is that my app doesn't always throw a DBConcurrencyException.
Where it works:
TextBox, binded with drag&drop
3 ComboBoxes, binded in code to properties
CheckBox, binded with drag&drop
Where it doesn't work:
ListBox, binded in code to a BindList
TextBox, binded with drag&drop
PictureBox, binded with drag&drop
Symptom:
If I start 2 instances of my app, then changing the data in the "working" controllers causes a DBConcurrencyException while changing the data in the controllers in the "doesn't work" category doesn't. In that case the last update to DB wins.
If you need some code snippet, please write back and I'll post it.
Thanks for your help in advance!
|
|
|
|
|
Yeah, this makes no sense at all. You've provided a lot of stuff that's completely irrelevant to the problem at hand.
A DbConcurrency problem occurs usually because the WHERE clause in the SQL is not finding 1 record to update but either 0 or more than one.
So what's causing that? Well, that depends on your database setup, your C# code and your SQL statements. None of which you provided.
|
|
|
|
|
Here is my C# code which updates the database.
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
UpdateDatabase();
}
private void UpdateDatabase()
{
if (this.Validate())
{
this.receptTableBindingSource.EndEdit();
try
{
this.receptTableTableAdapter.Update(this.receptDataSet.ReceptTable);
MessageBox.Show("Update successful");
}
catch (DBConcurrencyException dbcx)
{
DialogResult response = MessageBox.Show(CreateMessage((ReceptDataSet.ReceptTableRow)
(dbcx.Row)), "Concurrency Exception", MessageBoxButtons.YesNoCancel);
ProcessDialogResult(response);
}
catch (Exception ex)
{
MessageBox.Show("An error was thrown while attempting to update the database: " + ex.ToString());
}
}
}
private string CreateMessage(ReceptDataSet.ReceptTableRow cr)
{
return
"Database(Cancel): " + GetRowData(GetCurrentRowInDB(cr), DataRowVersion.Default) + "\n" +
"Original(No): " + GetRowData(cr, DataRowVersion.Original) + "\n" +
"Proposed(Yes): " + GetRowData(cr, DataRowVersion.Current) + "\n" +
"Do you still want to update the database with the proposed value?";
}
private ReceptDataSet.ReceptTableDataTable tempReceptDataTable =
new ReceptDataSet.ReceptTableDataTable();
private ReceptDataSet.ReceptTableRow GetCurrentRowInDB(ReceptDataSet.ReceptTableRow RowWithError)
{
this.receptTableTableAdapter.Fill(tempReceptDataTable);
ReceptDataSet.ReceptTableRow currentRowInDb =
tempReceptDataTable.FindByID(RowWithError.ID);
return currentRowInDb;
}
private string GetRowData(ReceptDataSet.ReceptTableRow custRow, DataRowVersion RowVersion)
{
string rowData = "";
for (int i = 0; i < custRow.ItemArray.Length; i++)
{
rowData = rowData + custRow[i, RowVersion].ToString() + " ";
}
return rowData;
}
private void ProcessDialogResult(DialogResult response)
{
switch (response)
{
case DialogResult.Yes:
receptDataSet.Merge(tempReceptDataTable, true, MissingSchemaAction.Ignore);
UpdateDatabase();
break;
case DialogResult.Cancel:
receptDataSet.Merge(tempReceptDataTable);
MessageBox.Show("Update cancelled");
break;
case DialogResult.No:
receptDataSet.RejectChanges();
receptDataSet.Merge(tempReceptDataTable, true, MissingSchemaAction.Ignore);
UpdateDatabase();
break;
}
}
|
|
|
|
|
You can find here the automatically (by drag&drop) generated SQL code. The problem occurs with "Ingredients", "HowTo" and "Picture".
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [dbo].[ReceptTable] SET [Name] = @Name, [Ingredients] = @Ingredients, [HowTo] = @HowTo, [IsBakeNeeded] = @IsBakeNeeded, [Difficulty] = @Difficulty, [WorkTime] = @WorkTime, [Cost] = @Cost, [Picture] = @Picture WHERE (([ID] = @Original_ID) AND ([Name] = @Original_Name) AND ((@IsNull_IsBakeNeeded = 1 AND [IsBakeNeeded] IS NULL) OR ([IsBakeNeeded] = @Original_IsBakeNeeded)) AND ((@IsNull_Difficulty = 1 AND [Difficulty] IS NULL) OR ([Difficulty] = @Original_Difficulty)) AND ((@IsNull_WorkTime = 1 AND [WorkTime] IS NULL) OR ([WorkTime] = @Original_WorkTime)) AND ((@IsNull_Cost = 1 AND [Cost] IS NULL) OR ([Cost] = @Original_Cost)));
SELECT ID, Name, Ingredients, HowTo, IsBakeNeeded, Difficulty, WorkTime, Cost, Picture FROM ReceptTable WHERE (ID = @ID)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Ingredients" Precision="0" ProviderType="NText" Scale="0" Size="0" SourceColumn="Ingredients" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@HowTo" Precision="0" ProviderType="NText" Scale="0" Size="0" SourceColumn="HowTo" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@IsBakeNeeded" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="IsBakeNeeded" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@Difficulty" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="Difficulty" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@WorkTime" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="WorkTime" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@Cost" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="Cost" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@Picture" Precision="0" ProviderType="Image" Scale="0" Size="0" SourceColumn="Picture" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_IsBakeNeeded" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="IsBakeNeeded" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_IsBakeNeeded" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="IsBakeNeeded" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Difficulty" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Difficulty" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@Original_Difficulty" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="Difficulty" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WorkTime" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WorkTime" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@Original_WorkTime" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="WorkTime" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Cost" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Cost" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@Original_Cost" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="Cost" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="ID" ColumnName="ID" DataSourceName="Recept.dbo.ReceptTable" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="ID" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</UpdateCommand>
|
|
|
|
|
Oh goody. You're using the designer generated crap...
Well, here's your UPDATE statements WHERE clause:
WHERE
(
([ID] = @Original_ID)
AND
([Name] = @Original_Name)
AND
(
(@IsNull_IsBakeNeeded = 1 AND [IsBakeNeeded] IS NULL)
OR
([IsBakeNeeded] = @Original_IsBakeNeeded)
)
AND
(
(@IsNull_Difficulty = 1 AND [Difficulty] IS NULL)
OR
([Difficulty] = @Original_Difficulty)
)
AND
(
(@IsNull_WorkTime = 1 AND [WorkTime] IS NULL)
OR
([WorkTime] = @Original_WorkTime)
)
AND
(
(@IsNull_Cost = 1 AND [Cost] IS NULL)
OR
([Cost] = @Original_Cost)
)
)
Now, if that ENTIRE pile of expressions matches either 0 or more than 1 records, you'll get the DbConcurrency exception.
The problem with this pile of crap is that you don't need 99% of it. All it should be using is the ID column. Your WHERE clause should look like this:
WHERE [ID] = @Original_ID;
That's it, nothing more.
|
|
|
|
|
Hi Dave,
I've tried
WHERE [ID] = @Original_ID;
but now I don't get any DBConcurrency exception, even with the controllers that were working.
Then I tried to add the non-working field (eg. HowTo) to the WHERE clause:
WHERE
(
([ID] = @Original_ID)
AND
([Name] = @Original_Name)
...
([HowTo]= @Original_HowTo)
...
)
and I've added the parameter @Original_HowTo:
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_HowTo" Precision="0" ProviderType="NText" Scale="0" Size="0" SourceColumn="HowTo" SourceColumnNullMapping="false" SourceVersion="Original" />
After running the app, I tried to save a record but I've got an SQL Exception 0x80131904 The data types ntext and ntext are incompatible in the equal to operator.
|
|
|
|
|
Argh
It's of course OK with
([HowTo] LIKE @Original_HowTo)
Thanks!
|
|
|
|