情况:
我用的datagrid,点击设计视图,上面有commandbutton,然后我添加了“编辑,更新,删除”按钮,然后做好数据绑定,数据
已经可以绑定显示出来了。问题:
当我点击“编辑”这个时候,我进行了编辑,我现在点击更新,难道必须去C#里面做下面的操作吗?这些代码都要我自己写吗?有没有更快的减少写代码的工作量,通过设置或怎样,让他自动更新?求快速设置方法,减少手写代码工作量!!
private void dgShow_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strStudentID = e.Item.Cells[0].Text;//处于非编辑状态
string strName = ((TextBox)(e.Item.Cells[1].Controls[0])).Text;//处于编辑状态
string strPass =((TextBox)(e.Item.Cells[2].Controls[0])).Text;
string strSex = ((CheckBox)(e.Item.Cells[3].FindControl("cbSex"))).Checked?"1":"0";
string strBirthday =((TextBox)(e.Item.Cells[4].Controls[0])).Text;
string strEmail =((TextBox)(e.Item.Cells[5].Controls[0])).Text;
string strSql = "update tbStudentinfo set StudentName='"+strName+"',StudentPass='"+strPass+"'";
strSql +=",Sex="+strSex+",Birthday='"+strBirthday+"',Email='"+strEmail+"' where studentid="+strStudentID+"";
ExecuteSql(strSql);
dgShow.EditItemIndex = -1;
BindData(); }
我用的datagrid,点击设计视图,上面有commandbutton,然后我添加了“编辑,更新,删除”按钮,然后做好数据绑定,数据
已经可以绑定显示出来了。问题:
当我点击“编辑”这个时候,我进行了编辑,我现在点击更新,难道必须去C#里面做下面的操作吗?这些代码都要我自己写吗?有没有更快的减少写代码的工作量,通过设置或怎样,让他自动更新?求快速设置方法,减少手写代码工作量!!
private void dgShow_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strStudentID = e.Item.Cells[0].Text;//处于非编辑状态
string strName = ((TextBox)(e.Item.Cells[1].Controls[0])).Text;//处于编辑状态
string strPass =((TextBox)(e.Item.Cells[2].Controls[0])).Text;
string strSex = ((CheckBox)(e.Item.Cells[3].FindControl("cbSex"))).Checked?"1":"0";
string strBirthday =((TextBox)(e.Item.Cells[4].Controls[0])).Text;
string strEmail =((TextBox)(e.Item.Cells[5].Controls[0])).Text;
string strSql = "update tbStudentinfo set StudentName='"+strName+"',StudentPass='"+strPass+"'";
strSql +=",Sex="+strSex+",Birthday='"+strBirthday+"',Email='"+strEmail+"' where studentid="+strStudentID+"";
ExecuteSql(strSql);
dgShow.EditItemIndex = -1;
BindData(); }
CellPadding="10" ForeColor="#333333" GridLines="None" Width="90%" DataKeyNames="ColumnID"//这个是你的表主键列名,一定要设计哦 PageSize="11" AutoGenerateEditButton="True"//这个属性是允许编辑,这就是你想要的功能了 DataSourceID="AccessDataSource1"//这个是数据源控件的ID,在下面定义 Font-Size="Larger">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<PagerSettings Mode="NextPrevious" NextPageText="下一页" PreviousPageText="上一页" />
<Columns>
<asp:BoundField DataField="ColumnID" HeaderText="分类编号" InsertVisible="False" ReadOnly="True"//如果哪一列不想让别人更新,又想显示出来,就设为只读
SortExpression="ColumnID" />
<asp:BoundField DataField="ColumnName" HeaderText="分类名称" SortExpression="ColumnName" />
</Columns>
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text="暂时没有相应分类,请添加!" Font-Size="12px"></asp:Label>
</EmptyDataTemplate>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/kjl.mdb"
DeleteCommand="DELETE FROM [column] WHERE [ColumnID] = ?" InsertCommand="INSERT INTO [column] ([ColumnID], [ColumnName]) VALUES (?, ?)"
SelectCommand="SELECT [ColumnID], [ColumnName] FROM [column] ORDER BY [ColumnID] ASC"
UpdateCommand="UPDATE [column] SET [ColumnName] = ? WHERE [ColumnID] = ?">
<DeleteParameters>
<asp:Parameter Name="ColumnID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="ColumnName" Type="String" />
<asp:Parameter Name="ColumnID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="ColumnID" Type="Int32" />
<asp:Parameter Name="ColumnName" Type="String" />
</InsertParameters>
</asp:AccessDataSource>//这个就是数据源控件,我现在是连接到ACCESS数据库的,你在配置它时,选择高级功能,然后把生成插入,修改,删除代码,确定后它就会出现上面的代码了