【发布时间】:2014-07-27 05:05:34
【问题描述】:
我有这个项目,我必须将文件添加到我的数据网格,然后当我单击它时,我可以编辑或删除我添加的文件。这是我的表单的示例屏幕截图
当我单击添加时,文本框中的文件将被添加到数据网格中。它确实有效。
然后,当我单击数据网格中的数据时,文件名将插入到我的文本框中,以便我对其进行编辑。然后,当我单击编辑时,网格必须刷新显示已编辑的文件。与删除相同。
问题是当我尝试编辑或删除我的文件并刷新我的网格时,出现错误。
我确定文件已被编辑/删除,但我没有刷新我的网格,而是它给了我错误。
这是我刷新网格的代码。每当我单击添加/编辑/删除按钮时,我都会调用此方法
public void DisplaySourceFile()
{
try
{
if (CONN.State != ConnectionState.Open)
{
CONN.Open();
}
CMD = new SqlCommand("Select sf_id as [ID], sf_name as [FILES] from [Source_File] where s_id = @s_id", CONN);
CMD.Parameters.AddWithValue("@s_id", SourceId);
DA = new SqlDataAdapter(CMD);
DT = new DataTable("Role");
DA.Fill(DT);
dataGridFile.ItemsSource = DT.DefaultView;
}
catch
{
throw;
}
finally
{
if (CONN.ToString() != String.Empty && CONN.State != ConnectionState.Closed)
CONN.Close();
}
}
在我的数据网格中选择项目时,这里是我的代码:
private void dataGridFile_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
bo_source = new BO.BO_Source();
dal_source = new DAL.DAL_Source();
//Check if there is selected item
dal_source.selectedSourceFile = Convert.ToInt32((DT.Rows[dataGridFile.SelectedIndex])[0].ToString());
selectedSource = dal_source.selectedSourceFile;
btnEdit.IsEnabled = true;
btnDelete.IsEnabled = true;
btnAdd.IsEnabled = false;
if (dal_source.GetSourceFileInfo(bo_source) == true)
{
txtFileName.Text = bo_source.sf_name;
}
}
谁能帮帮我。
【问题讨论】:
-
我建议您不要采用当前的方法,而是采用更 WPF 方式的 MVVM 方法,所以在我回答您的问题之前,请告诉我您是否愿意采用 MVVM,或者您会坚持你所拥有的。
-
我正在使用分层,知道吗。
-
分层代码很不错,但我可以从您分享的代码中看到层之间的紧密耦合。所以想知道您是否打算修改它或保持原样。
-
我很想保持原样。