Die kann er auch nicht finden. Du holst ja nur tracks.guid und tasks.id. Über task_guid joinst Du ja nur.
string sqlCode = @"SELECT tracks.guid, tasks.id, tracks.task_guid FROM tracks INNER JOIN tasks ON tracks.task_guid = tasks.guid)"
Zeig mal etwas Code. Am besten das SELECT und den Zugriff auf die DataTable.
Du musst sicherlich erst die Referenz hinzufügen. ( Solutionexplorer )
Schau mal Dein Binding an. Da kannst einen Parameter DataSourceUpdateMode angeben und den setzt Du auf OnPropertyChanged.
Versuch mal vorher:
ALTER DATABASE <DatabaseName> SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Hab das mal irgendwo gelesen, aber nie getestet.
dataGridView.Columns[0].HeaderCell.Style.WrapMode = DataGridViewTriState.True;
dataGridView.Columns[0].HeaderCell.Value = "1.Zeile" + Environment.NewLine + "2.Zeile";
Mit keine meinte ich, "Keine der genannten". 😉
Original von CB.NET
Warum "Keine" ?
keine Zeit, keine Lust ?
Kein oder wenig Interesse. Aber nur an den oben genannten. Es gibt schon die ein oder andere Zeitschrift, die ich lese. Aber das ist definitiv keine der genannten dabei.
Original von Programmierhans
"Keine" hat auch gefehlt in der Umfrage....
Das hat mir auch gefehlt. 😉
In .NET 2.0 sind Methoden in den Klassen Directory/DirectoryInfo bzw. File/FileInfo vorhanden. Das ganze funktioniert natürlich auch über WMI.
Nachdem Du Deine Tabelle das erstemal ans Grid bindest, kannst Du ja alle Zeilen des Grids auf ReadOnly setzen. Bis auf die letzte, dass is die neue Row.
foreach( DataGridViewRow row in dataGridView.Rows )
row.ReadOnly = !row.IsNewRow;
Nun musst Du noch das Löschen verhindern.
private void dataGridView_UserDeletingRow( object sender, DataGridViewRowCancelEventArgs e )
{
e.Cancel = ( ( e.Row.State & DataGridViewElementStates.ReadOnly ) == DataGridViewElementStates.ReadOnly );
}
ds.Tables["Tabelle1"].Rows[0][0] = "Hallo";
Z.B. mit einem XmlDocument. Mit dieser Klasse kannst Du einen neuen Knoten erstellen und ihn in die users Aufzählung einfügen.
xmlDocument.SelectSingleNode("root/users").AppendChild( deinNode );
Du hast eine typisierte Tabelle, somit hast Du eine typisierte Row.
row.<SpaltenName>
Original von juetho
//Edit: Aha, Noodles konnte raten.
Nö, lesen! 😁
Welche Visual Studio Version? Ich meine unter 2005 funktioniert dies nicht mehr. Da gibt es das DataSource Window.
Das ist aber schon ne merkwürdige Schleife! ;o)
Du gibst für die Anzahl der Rows immer denselben Spaltennnamen aus. 🤔
Du musst in der Schleife auf row. und eine typisierte Eigenschaft ( Spaltenname ) zugreifen, dann siehst auch den Wert.
CREATE TABLE #MyTemp
(
FileExist int,
IsFileDic int,
ParentDicExist int
)
INSERT INTO #MyTemp EXEC master..XP_FILEEXIST 'C:\temp\test.cs'
SELECT FileExist FROM #MyTemp
DROP TABLE #MyTemp
reportViewer.SetDisplayMode( DisplayMode.PrintLayout );
reportViewer.ZoomMode = ZoomMode.Percent;
reportViewer.ZoomPercent = 100;
Versuch mal:
DataView view = (DataView)sqlDataSource.Select(new DataSourceSelectArguments());
Einfach mal die Suchfunktion benutzen.
Erstelle Dir doch ein eigenes Grid und überschreibe da diese Funktion.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Return)
return true;
return base.ProcessCmdKey(ref msg, keyData);
}
Implementiere IXmlSerializable.
Original von Golo
Eine spezielle Ausbildung für Teamleiter gibt es meines Wissens nicht, ebensowenig wie zum Architekten. Das ergibt sich einfach, beziehungsweise man fängt einfach irgendwann an, sich auf entsprechende Stellen zu bewerben
Ist wohl je nach Firma anders. Bei uns gibt es dafür Prüfungen.
Original von Golo
PS: Ich bin zweifacher MCP, aber das hat IMHO noch nie eine Rolle für eine Stelle gespielt.
Ist nicht nur für eine Stelle interessant. Es gibt Kunden, die gern Herstellerzertifizierungen sehen möchten.
AcceptChanges schreibt auch nichts in die DB. Such mach nach SqlDataAdapter und UpdateCommand.
Interessant. Nur was ist Deine Frage?
Bitte in [Hinweis] Wie poste ich richtig? Punkt 2 beachten.
Verschoben nach Datentechnologien.
Ja, das musst Du erst aktivieren. Im Designer, Rechtsklick Edit Columns ( oder so ähnlich ) und dann Edit Button hinzufügen.
Das GridView ist doch editierbar oder reicht Dir das nicht?
Gleich die ersten 3 Treffer bei google bringen die Lösung.
http://www.aspheute.com/artikel/20020730.htm
http://msdn2.microsoft.com/de-de/library/2d6dt3kf(VS.80).aspx
http://msdn2.microsoft.com/de-de/library/z04awywx(VS.80).aspx
Original von below
Also die Option HeaderRow hab ich nicht in meinem Datagridview. Und über Index 0 geht es nicht, das hab ich ja zu Anfang so probiert.
Deine 1. Zeile ist aber nicht zufällig selektiert, so dass Du es nur einfach nicht siehst, wie sich der Hintergrund ändert?
Wie greifst Du auf die 1. Zeile zu? Wie in Deinem Codebeispiel? Weil die erste Zeile hat den Index 0 und nicht 1.
@kInGpInGoLd
Das DataGridView hat keine Eigenschaft HeaderRow! Desweiteren wäre das auch nicht die 1. Zeile sondern, der Header, wie es der Name schon sagt.
dataGridView[0, 0].Style.BackColor = Color.Red;
Ok, steht denn auch was in dem Feld? Haste mal im Debugger geschaut?
Also beim SqlDataReader gibt es z.B. SqlDataReader.GetInt64(...).
Original von jaipur
vielleicht hilft dir ja auch der wert in Application.StartPath
Das ist das Anwendungsverzeichnis, da sollte man nicht schreiben.
Original von jaipur
weiter oder die klasse Path.
Die ist zum bearbeiten von Pfaden da und nicht um Verzeichnisse zu erstellen oder ähnliches.
Tip: Environment.GetFolderPath
Solltest Du nicht auf dr[0] bei nur einem Wert zugreifen?
Schau Dir die Klassen Directory und/oder DirectoryInfo an.
public T Foo<T>() where T : BasisZeichnen, new()
{
return new T();
}
Muss man nicht kennen. Man kannt in der MSDN die Attribute Klasse anschauen. Da findet man einen Link namens: Derived Classes.
Was mich wundert, Du änderst die Hintergrundfarbe von weiß auf weiß? Da würde ich auch kein Unterschied sehen.
Du hast aber schon alle Posts in diesem Thread gelesen?
Die BackColor Eigenschaft funktioniert nicht. Deshalb ist sie auch ausgeblendet ( PropertyGrid + Intellisense ).
public class DateTimePickerEx : DateTimePicker
{
private const int WM_ERASEBKGND = 0x14;
[Browsable( true )]
[EditorBrowsable()]
public override Color BackColor
{
get { return base.BackColor; }
set { base.BackColor = value; }
}
protected override void WndProc( ref Message m )
{
if( m.Msg == WM_ERASEBKGND )
{
using( Graphics g = Graphics.FromHdc( m.WParam ) )
{
using( SolidBrush brush = new SolidBrush( this.BackColor ) )
{
g.FillRectangle( brush, this.ClientRectangle );
}
}
return;
}
base.WndProc( ref m );
}
}
Im einfachsten Fall:
using( OpenFileDialog ofd = new OpenFileDialog() )
{
ofd.Multiselect = true;
if( ofd.ShowDialog() == DialogResult.OK )
listBox.DataSource = ofd.FileNames;
}
SqlConnection conn = new SqlConnection( "Data Source=localhost;Integrated Security=True" );
return null?
Sicherlich falsch ausgedrückt.