//绑定数据源
strSql = "select object_id, object_code, object_text, object_x, object_y, object_width, object_height, object_next from AgvMap ";
dt = SqlDbHelper.ExecuteDataTable(strSql);
gvdData.DataSource = dt;
//增加行,并给某列赋值
string strMax;
if (gvdData.Rows.Count == 0)
{
strMax = "01";
}
else
{
strMax = dt.AsEnumerable().Select(t => t.Field<string>("object_code")).Max().ToString();
strMax = (Convert.ToInt32(strMax) + 1).ToString("00");
}
DataRow dr = dt.NewRow();
dr["object_id"] = Guid.NewGuid().ToString("N");
dr["object_code"] = strMax;
dt.Rows.Add(dr);
//删除行
int intIndex;
string strID;
intIndex = gvdData.SelectedRows[0].Index;
//获取选中行的列值
strID = gvdData.Rows[intIndex].Cells["object_id"].Value.ToString();
//删除行,不能排序。这样删除才能更新到数据库。
dt.Rows[intIndex].Delete();
//不改变数据源筛选datagridview
(gvdData.DataSource as DataTable).DefaultView.RowFilter = "object_id like 'point%'";
//保存数据,包扩更新,插入,删除
dt.TableName = "AgvMap"; //必须有表名
SqlDbHelper.ExecureData(dt);
//保存的方法
public static int ExecureData(DataTable dt)
{
int intReturn;
try
{
//创建一个数据库连接
using (SqlConnection Connection = new SqlConnection(connectionString))
{
if (Connection.State != ConnectionState.Open)
Connection.Open();
SqlDataAdapter Adapter = new SqlDataAdapter();
Adapter.SelectCommand = new SqlCommand("SELECT * FROM " + dt.TableName, Connection);
SqlCommandBuilder builder = new SqlCommandBuilder(Adapter);
Adapter.UpdateCommand = builder.GetUpdateCommand();
intReturn = Adapter.Update(dt);
dt.AcceptChanges();
return intReturn;
}
}
catch (Exception err)
{
throw err;
}
}