谁能教教我呀,最好能给我一个例子,我好好研究一下。
谁能教教我呀,最好能给我一个例子,我好好研究一下。
[此贴子已经被作者于2007-1-11 9:19:29编辑过]
我的表中有两个字段 一个是ID,一个是TYPE文本型的,我想在datagrid中显示type列,而且在type后面有一个修改和删除操作,当单击修改时,对应的type列会出现一个文本框,里面是type的值,以共修改,我该怎么做呀。我知道datagrid属性生成器中有一个按钮列,其中有一个编辑,更新,取消,但是我不知道怎么用,教教我。
你这个问题答起来还挺长的.
1.不要自动生成列不就可以了吗,
或者在pageload中,ispostback里加一句this.DataGrid.Columns[4].Visible = false;
2.首先你的那个显示type的项就得用模版项.
编辑模版项时,在ItemTemplate里放一个label,在editItemTemplate里放一个textbox.
在点击label,textbox属性里的(databindings)项,弹出对话框.选中自定义表达式,选中text项,好像这两个时默认的.
然后在表达式框中加入 DataBinder.Eval(Container.DataItem,"type") type是你数据库的字段名.
然后添加VS自带的那个"编辑,更新,取消"按钮组.你也可以用模版列自己放按钮,想放几个,就放几个.
然后加入下面代码,应该就差不多了.
private void DataGridBind() //自己定义的绑定方法
{
SqlConnection con=new SqlConnection(ConfigurationSettings.AppSettings["Sqlcon"]);
con.Open();
SqlDataAdapter sqlda = new SqlDataAdapter("select * from WeekAdd where ID='"+this.TextBox3.Text+"'",con);
DataSet dswa = new DataSet();
sqlda.Fill(dswa,"wa");
this.DataGrid1.DataKeyField="PubID";
this.DataGrid1.DataSource=dswa;
this.DataGrid1.DataBind();
con.Close();
}
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//删除事件 {
SqlConnection con=new SqlConnection(ConfigurationSettings.AppSettings["Sqlcon"]);
con.Open();
string PubID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
SqlCommand cmd=new SqlCommand("delete from WeekAdd where PubID='"+PubID+"'",con);
cmd.ExecuteNonQuery();
this.DataGridBind();
con.Close();
}
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) //编辑事件 {
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
this.DataGridBind();
}
private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//取消事件
{
this.DataGrid1.EditItemIndex = -1;
this.DataGridBind();
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//更新事件
{
TextBox tbxq = (TextBox)e.Item.FindControl("TextBoxDG");//textboxdg是放入datagrid里textbox的id
SqlConnection con=new SqlConnection(ConfigurationSettings.AppSettings["Sqlcon"]);
con.Open();
string PubID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
SqlCommand cmd=new SqlCommand("update WeekAdd set PubText='"+tbxq.Text.Replace(" "," ").Replace("\r","<br>")+"' where PubID='"+PubID+"'",con);
cmd.ExecuteNonQuery();
this.DataGrid1.EditItemIndex = -1;
this.DataGridBind();
con.Close();
}
差不多就是这样了吧,很多书上都有的,网上也可以找得到哦.
[此贴子已经被作者于2007-1-11 16:42:18编辑过]