总体目标:尝试在关闭故障单的每一行上显示一个按钮(将打开状态列更改为0并使用datetime更新closeddate列)。
到目前为止完成的东西:我创建了按钮并显示数据集。但是,我无法弄清楚如何才能更新那两列(openstate,closeddate)。
我正在使用默认查询构建,这可能是我的问题。
因为没有让你阅读我尽可能少的所有代码。如果您需要更多请告诉我,如果您愿意,我会添加所有内容。新手就这样,让我知道您的需求:)。
xaml:
<DataGrid x:Name="dgtask" Background ="Black"
ItemsSource="{Binding}"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Title"
Binding="{Binding Path='taskTitle'}" />
<DataGridTextColumn Header="Description"
Binding="{Binding Path='taskDesc'}" />
<!-- Add your normal columns here -->
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="btnclose" Click="btnclose_Click">My button</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
代码背后的:
private void btnclose_Click(object sender, RoutedEventArgs e)
{
DateTime date1 = DateTime.Now;
_dsTaskTracker = new TimeTrackerDataSet();
_taTaskTracker = new TimeTrackerDataSetTableAdapters.taskTableAdapter();
_dtTaskTracker = new TimeTrackerDataSet.taskDataTable();
_taTaskTracker.Update("I can't figure out how to limit this to only the two columns");
}
对于那些草率的混乱,它并没有全力以赴 数据集代码:
this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[task] SET [taskTitle] = @taskTitle, [taskDesc] = @taskDesc, [creation] = @creation, [closed] = @closed, [taskOpen] = @taskOpen WHERE (([titleID] = @Original_titleID) AND ([taskTitle] = @Original_taskTitle) AND ((@IsNull_taskDesc = 1 AND [taskDesc] IS NULL) OR ([taskDesc] = @Original_taskDesc)) AND ((@IsNull_creation = 1 AND [creation] IS NULL) OR ([creation] = @Original_creation)) AND ((@IsNull_closed = 1 AND [closed] IS NULL) OR ([closed] = @Original_closed)) AND ((@IsNull_taskOpen = 1 AND [taskOpen] IS NULL) OR ([taskOpen] = @Original_taskOpen)));
SELECT titleID, taskTitle, taskDesc, creation, closed, taskOpen FROM task WHERE (titleID = @titleID)";
this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@taskTitle", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskTitle", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@taskDesc", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskDesc", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@creation", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "creation", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@closed", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "closed", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@taskOpen", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskOpen", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_titleID", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "titleID", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_taskTitle", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskTitle", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_taskDesc", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskDesc", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_taskDesc", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskDesc", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_creation", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "creation", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_creation", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "creation", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_closed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "closed", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_closed", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "closed", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_taskOpen", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskOpen", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_taskOpen", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskOpen", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@titleID", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "titleID", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));