代码如下:
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
String day = e.Item.Cells[0].Text;
string datetime = String.Format("{0}-{1}-{2}",today.Year, today.Month, day );
if(e.CommandName=="edit")
{
this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
this.bind();
}
if(e.CommandName=="update")
{
try
{
SqlCommand comm=new SqlCommand("update SEMonthTable set RunTimes=@RunTimes, ConstringeTimes=@ConstringeTimes, RunTotalSeconds=@RunTotalSeconds where MDatetime = @Datetime",connect);
SqlParameter parm1=new SqlParameter("@RunTimes",SqlDbType.Float);
parm1.Value=e.Item.Cells[1].Text;
parm1.Value=((TextBox)e.Item.Cells[1].Controls[0]).Text;
SqlParameter parm2=new SqlParameter("@ConstringeTimes",SqlDbType.Float);
parm2.Value=((TextBox)e.Item.Cells[2].Controls[0]).Text;
SqlParameter parm6=new SqlParameter("@RunTotalSeconds",SqlDbType.Float);
parm6.Value=((TextBox)e.Item.Cells[6].Controls[0]).Text;
SqlParameter parm7=new SqlParameter("@Datetime",SqlDbType.DateTime);
parm7.Value= datetime;
comm.Parameters.Add(parm1);
comm.Parameters.Add(parm2);
comm.Parameters.Add(parm6);
comm.Parameters.Add(parm7);
connect.Open();
comm.ExecuteNonQuery();
connect.Close();
}
catch
{
Response.Write("<script>alert('输入的数据格式有误');</script>");
}
finally
{
this.DataGrid1.EditItemIndex=-1;
connect.Close();
this.bind();
}
}
}
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","__doPostBack('"+((LinkButton)e.Item.Cells[7].Controls[0]).ClientID.Replace("__","$_")+"','')");
}
if(e.Item.ItemType==ListItemType.EditItem)
{
e.Item.Attributes.Add("ondblclick","__doPostBack('"+((LinkButton)e.Item.Cells[8].Controls[0]).ClientID.Replace("__","$_")+"','')");
for(int i=1;i<6;i++)((TextBox)e.Item.Cells[i].Controls[0]).Attributes.Add("onmouseover","this.select()");
}
}
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
String day = e.Item.Cells[0].Text;
string datetime = String.Format("{0}-{1}-{2}",today.Year, today.Month, day );
if(e.CommandName=="edit")
{
this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
this.bind();
}
if(e.CommandName=="update")
{
try
{
SqlCommand comm=new SqlCommand("update SEMonthTable set RunTimes=@RunTimes, ConstringeTimes=@ConstringeTimes, RunTotalSeconds=@RunTotalSeconds where MDatetime = @Datetime",connect);
SqlParameter parm1=new SqlParameter("@RunTimes",SqlDbType.Float);
parm1.Value=e.Item.Cells[1].Text;
parm1.Value=((TextBox)e.Item.Cells[1].Controls[0]).Text;
SqlParameter parm2=new SqlParameter("@ConstringeTimes",SqlDbType.Float);
parm2.Value=((TextBox)e.Item.Cells[2].Controls[0]).Text;
SqlParameter parm6=new SqlParameter("@RunTotalSeconds",SqlDbType.Float);
parm6.Value=((TextBox)e.Item.Cells[6].Controls[0]).Text;
SqlParameter parm7=new SqlParameter("@Datetime",SqlDbType.DateTime);
parm7.Value= datetime;
comm.Parameters.Add(parm1);
comm.Parameters.Add(parm2);
comm.Parameters.Add(parm6);
comm.Parameters.Add(parm7);
connect.Open();
comm.ExecuteNonQuery();
connect.Close();
}
catch
{
Response.Write("<script>alert('输入的数据格式有误');</script>");
}
finally
{
this.DataGrid1.EditItemIndex=-1;
connect.Close();
this.bind();
}
}
}
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","__doPostBack('"+((LinkButton)e.Item.Cells[7].Controls[0]).ClientID.Replace("__","$_")+"','')");
}
if(e.Item.ItemType==ListItemType.EditItem)
{
e.Item.Attributes.Add("ondblclick","__doPostBack('"+((LinkButton)e.Item.Cells[8].Controls[0]).ClientID.Replace("__","$_")+"','')");
for(int i=1;i<6;i++)((TextBox)e.Item.Cells[i].Controls[0]).Attributes.Add("onmouseover","this.select()");
}
}
解决方案 »
- 怎么定义一个ASCII值,在转换成16进制。 在把它作为命令发送给串口。
- .Size.Height 与 .Height 两种属性的写法,区别是什么呢?为何要存在两种不同的表达方式呢
- directx音频,如何减少输出时的延迟
- 实现用户权限列表一般用什么表示?用listvieW?还是datagridvieW?
- 如何选取datagridview的整列数据形成数组
- 在这种情况下remoting中如何从客户端激活远程实例
- 如何获取DataGid一列的宽度,自己做了,有点问题,老提示Index超过索引,帮忙看 看,有源码,谢谢!!在线等!!
- 请问怎样实现在winform加载的时候不触发winform的move事件或者locationchange事件
- 按扭的热键如何实现?
- GDI+ 中发生一般性错误
- C#中,如何动态加载我的dll?
- 老出一个错误提示, 大家帮看看问题出在哪里吧. 太感谢了!
TextBox txt2 = (TextBox)e.Item.Cells[6].Controls[0];
看看这两个txt ,txt2 是不是存在
可是怎么取不到编辑的值啊,就是parm1.Value=((TextBox)e.Item.Cells[1].Controls[0]).Text;还是原来的datagrid的值不是编辑的值
》》绑定放到if(!IsPostBack)
就是datagrid在编辑状态下列宽改变太大,很容易产生错误的感觉
怎么让datagrid在编辑状态的列宽和不是编辑的时候保持一致?