前往顾页
以后地位: 主页 > 收集编程 > .Net实例教程 >

SmartGrid控件客户端事件与数据导出教程

时候:2017-02-07 23:21来源:知行网www.zhixing123.cn 编辑:麦田守望者

一、SmartGrid数据导出


SmartGrid支撑导出本身数据到Excel文件,可调用Export2Excel()体例,该体例有两个重载体例:
语法1:Export2Excel()
语法2:Export2Excel(string file)//参数file为文件称呼,不带扩展名或途径
例1:

this.SmartGrid1.Export2Excel();


例2:

this.SmartGrid1.Export2Excel(“Task”);


2、保存SmartGrid数据到数据库


SmartGrid的DataSource属性用来存取或设置数据源。
重视:在背景将SmartGrid的数据源转为化DataTable后,可以按照DataRow的DataRowState值来判定该行数据的是用户新增的,还是用户点窜的,还是用户删除的。再按照用户的行动来机关sql。(当然,项目有项目标法则,这里我们仅是阐述服从。)
示例:

protected void btnSave_Click(object sender, EventArgs e)
{
StringBuilder updateCommandString = new StringBuilder();
DataTable dtSource = this.SmartGrid1.DataSource as DataTable;
DataTable dt = dtSource.GetChanges();
if (dt != null && dt.Rows.Count  > 0)
{
foreach (DataRow dr in dt.Rows)
{
updateCommandString.Append(" ");
switch (dr.RowState.ToString())
{
case "Unchanged"://未作改变(利用GetChanges时不成能会满足该前提)
    break;
case "Added"://新增
    updateCommandString.Append("insert into table1(fields)");
    updateCommandString.Append(" values('" + dr["fields"].ToString() + "'");
    break;
case "Modified"://点窜
    updateCommandString.Append("update table1 set ");
    updateCommandString.Append("fields = '" + dr["fields"].ToString() + "',");
    updateCommandString.Append(" where ID = '" + dr["ID"].ToString() + "'");
    break;
case "Deleted"://删除                            
    updateCommandString.Append("delete table1 where ID = '" + dr["ID",DataRowVersion.Original].ToString() + "'");
    break;
default:
    break;
}
}
if (updateCommandString.Length  > 0)
{
using (SqlConnection currentConn = new SqlConnection(_connectionstring))
{
currentConn.Open();
SqlCommand currentCmd = new SqlCommand();
currentCmd.CommandType = CommandType.Text;
currentCmd.CommandText = updateCommandString.ToString();
currentCmd.Connection = currentConn;
currentCmd.ExecuteNonQuery();
currentConn.Close();
}
}
}
}
------分开线----------------------------
标签(Tag):SmartGrid控件
------分开线----------------------------
保举内容
猜你感兴趣