Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Ja das laden in der Form_Load ist richtig dort.
ids.Add(Convert.ToInt32(id));
List<int> ids = null;
private void Form1_Load(object sender, EventArgs e)
{
this.ids = new List<int>();
if (File.Exists(@"C:\Users\Default\Desktop\ID.txt"))
{
using (StreamReader reader = new StreamReader("C:\\Users\\Default\\Desktop\\ID.txt"))
{
string content = reader.ReadToEnd();
foreach (string id in content.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
{
ids.Add(Convert.ToInt32(id)); // hier kommt der Fehler von oben
}
}
int[] ID = ids.ToArray();
lbl.Text = ID.Length.ToString();
}
else
{
MessageBox.Show("Datei nicht Vorhanden", "Achtung");
}
}
private void button2_Click(object sender, EventArgs e)
{
string output = speicher_Ort + txt1.Text + ".csv";
StreamWriter streamWriter = new StreamWriter(@output, false);
for (int r = 0; r < dataGridView1.Rows.Count; r++)
{
if (Convert.ToBoolean((dataGridView1.Rows[r].Cells["Speichern"] as DataGridViewCheckBoxCell).Value))
{
string rowValue = "";
for (int c = 1; c < dataGridView1.ColumnCount; c++)
{
rowValue += "\"" + dataGridView1.Rows[r].Cells[ c].Value + "\";";
}
streamWriter.WriteLine(rowValue);
ids.Add(Convert.ToInt32(dataGridView1[1, r].Value));
using (StreamWriter writer = new StreamWriter("C:\\Users\\Default\\Desktop\\ID.txt")) // das funktoniert ausgezeichnet (:
{
foreach (int i in ids)
{
writer.WriteLine(i.ToString());
}
}
}
int[] id = ids.ToArray();
lbl.Text = id.Length.ToString();
}
streamWriter.Close();
}
private void button3_Click(object sender, EventArgs e)
{
DataTable wss_table = result.Tables[0];
DataTable ap_table = result.Tables[1];
DataTable haupt_DT = tables.result_DT(wss_table, ap_table);
DataTable temp_DT = tables.temp_DT();
DataTable test = new DataTable();
DataColumn[] primArray = new DataColumn[1];
primArray[0] = haupt_DT.Columns["ID"];
haupt_DT.PrimaryKey = primArray;
dataGridView1.DataSource = haupt_DT;
DataGridViewCheckBoxColumn checkBox = new DataGridViewCheckBoxColumn();
checkBox.HeaderText = "Speichern";
checkBox.Name = "Speichern";
checkBox.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
dataGridView1.Columns.Insert(0, checkBox);
foreach (int id in ids) // hier kommt der Fehler, wenn ich auf button_3 klicke : Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt...
{
DataGridViewRow row = dataGridView1.Rows
.Cast<DataGridViewRow>()
.Where(r => r.Cells[1].Value.ToString().Equals(id.ToString()))
.First();
if (row != null)
dataGridView1.Rows.Remove(row);
}
this.dataGridView1.AutoGenerateColumns = true;
}
string output = speicher_Ort + txt1.Text + ".txtv";
StreamWriter streamWriter = new StreamWriter(@output, false);
for (int r = 0; r < dataGridView1.Rows.Count; r++)
{
if (Convert.ToBoolean((dataGridView1.Rows[r].Cells["Speichern"] as DataGridViewCheckBoxCell).Value))
{
string rowValue = "";
for (int c = 1; c < dataGridView1.ColumnCount; c++)
{
rowValue += "\"" + dataGridView1.Rows[r].Cells[ c].Value + "\";";
}
streamWriter.WriteLine(rowValue);
ids.Add(Convert.ToInt32(dataGridView1[1, r].Value));
}
}
streamWriter.Close();
lbl.Text = ids.Count().ToString();
using (StreamWriter writer = new StreamWriter("C:\\Users\\Default\\Desktop\\ID.txt")) // das funktoniert ausgezeichnet (:
{
foreach (int i in ids)
{
writer.WriteLine(i.ToString());
}
}
foreach (string id in content.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
foreach (string id in content.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
this.ids = new List<int>();
if (File.Exists(@"C:\Users\Default\Desktop\ID.txt"))
{
using (StreamReader reader = new StreamReader("C:\\Users\\Default\\Desktop\\ID.txt"))
{
string content = reader.ReadToEnd();
foreach (string id in content.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
{
ids.Add(Convert.ToInt32(id)); // hier kommt der Fehler von oben
}
}
int[] ID = ids.ToArray();
lbl.Text = ID.Length.ToString();
}
else
{
MessageBox.Show("Datei nicht Vorhanden", "Achtung");
}
Turri hat gesagt.:Hallo,
hab schon einen Bug gefunden.
Ändere mal diese Zeile im Form_Load:
In diese Zeile:C#:foreach (string id in content.Split(new string[] { Environment.NewLine }, StringSplitOptions.None))
C#:foreach (string id in content.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
foreach (int i in ids)
{
DataGridViewRow row = dataGridView1.Rows
.Cast<DataGridViewRow>()
.Where(r => r.Cells[1].Value.ToString().Equals(i.ToString())) //Hier kommt eine NullReferenceException wurde nicht behandelt. und darunter steht Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
.First();
if (row != null)
dataGridView1.Rows.Remove(row);
}