//form1中“修改”按钮事件
private void editButton_Click(object sender, EventArgs e)
{
ListViewItem LVItems = listView1.FocusedItem;
datasourceInfoFrom dsInfoForm = new datasourceInfoFrom();
dsInfoForm.Show();
dsInfoForm.textService.Text = LVItems.SubItems[0].Text;
dsInfoForm.comboType.Text = LVItems.SubItems[1].Text;
dsInfoForm.textUsername.Text = LVItems.SubItems[2].Text;
dsInfoForm.textPassword.Text = LVItems.SubItems[3].Text;
dsInfoForm.textService.Enabled = false;
}
//form2中“保存”按钮事件
private void saveButton_Click(object sender, EventArgs e)
{
XElement xel = XElement.Load("C:\\DataConfig.xml");
var item = from x in xel.Descendants("Connection")
where (string)x.Element("database") == textService.Text
select x;
foreach (var c in item)
{
c.Element("basetype").ReplaceWith(new XElement("basetype", comboType.Text));
c.Element("username").ReplaceWith(new XElement("username", textUsername.Text));
c.Element("password").ReplaceWith(new XElement("password", textPassword.Text));
}
xel.Save("C:\\DataConfig.xml");
MessageBox.Show("数据源信息修改成功!");
this.Close();
}
listview中显示内容的代码如下:
//将配置文件信息Fill到Dataset
DataSet dataSet = new DataSet();
dataSet.ReadXml("C:\\DataConfig.xml");
DataTable dataTable = dataSet.Tables[0];
listView1.Columns.Clear();
listView1.Items.Clear();
listView1.Columns.Add("数据库名", 150, HorizontalAlignment.Left);
listView1.Columns.Add("类型", 150, HorizontalAlignment.Left);
listView1.Columns.Add("用户名", 150, HorizontalAlignment.Left);
listView1.Columns.Add("密码", 150, HorizontalAlignment.Left);
ListViewItem l = null;
foreach (DataRow row in dataSet.Tables[0].Rows)
{
l = new ListViewItem(row["database"].ToString());
l.SubItems.Add(row["basetype"].ToString());
l.SubItems.Add(row["username"].ToString());
l.SubItems.Add(row["password"].ToString());
listView1.Items.Add(l);
}
dataTable.Dispose();
dataSet.Dispose();以上是现在的代码,选中form1中一条记录按修改按钮,弹出form2,我想点击保存按钮后,form1中的listview显示修改后的列表,在form2打开的时候,form1不关闭,请高手们帮看一下
private void editButton_Click(object sender, EventArgs e)
{
ListViewItem LVItems = listView1.FocusedItem;
datasourceInfoFrom dsInfoForm = new datasourceInfoFrom();
dsInfoForm.Show();
dsInfoForm.textService.Text = LVItems.SubItems[0].Text;
dsInfoForm.comboType.Text = LVItems.SubItems[1].Text;
dsInfoForm.textUsername.Text = LVItems.SubItems[2].Text;
dsInfoForm.textPassword.Text = LVItems.SubItems[3].Text;
dsInfoForm.textService.Enabled = false;
}
//form2中“保存”按钮事件
private void saveButton_Click(object sender, EventArgs e)
{
XElement xel = XElement.Load("C:\\DataConfig.xml");
var item = from x in xel.Descendants("Connection")
where (string)x.Element("database") == textService.Text
select x;
foreach (var c in item)
{
c.Element("basetype").ReplaceWith(new XElement("basetype", comboType.Text));
c.Element("username").ReplaceWith(new XElement("username", textUsername.Text));
c.Element("password").ReplaceWith(new XElement("password", textPassword.Text));
}
xel.Save("C:\\DataConfig.xml");
MessageBox.Show("数据源信息修改成功!");
this.Close();
}
listview中显示内容的代码如下:
//将配置文件信息Fill到Dataset
DataSet dataSet = new DataSet();
dataSet.ReadXml("C:\\DataConfig.xml");
DataTable dataTable = dataSet.Tables[0];
listView1.Columns.Clear();
listView1.Items.Clear();
listView1.Columns.Add("数据库名", 150, HorizontalAlignment.Left);
listView1.Columns.Add("类型", 150, HorizontalAlignment.Left);
listView1.Columns.Add("用户名", 150, HorizontalAlignment.Left);
listView1.Columns.Add("密码", 150, HorizontalAlignment.Left);
ListViewItem l = null;
foreach (DataRow row in dataSet.Tables[0].Rows)
{
l = new ListViewItem(row["database"].ToString());
l.SubItems.Add(row["basetype"].ToString());
l.SubItems.Add(row["username"].ToString());
l.SubItems.Add(row["password"].ToString());
listView1.Items.Add(l);
}
dataTable.Dispose();
dataSet.Dispose();以上是现在的代码,选中form1中一条记录按修改按钮,弹出form2,我想点击保存按钮后,form1中的listview显示修改后的列表,在form2打开的时候,form1不关闭,请高手们帮看一下
打开FORM2的时候将Form1传入到 Form2中,保存之后就可以再Form2中调用FORM1的方法来刷新listview数据了