有没有人可以明确的给我解释一下,我真的不知道怎么办了。关于Datagrid的保存问题。

时间:2022-11-29 04:56:21
我是C#的初学者,不好意思。
  我现在有2个按钮,一个增加,一个删除。我的数据库中有2个字段 “id” 和 “名称”,然后我将该表绑定到datagrid上,只显示“名称”字段,用户只能输入“名称”字段,而id字段是由程序中的算法生成的。
  我现在想完成的功能是点击“增加”,在datagrid增加一个空行;如果用户把名称输入完了,程序自动保存到数据库中,而其中的id字段需要由我来设置其值。就是说在datagrid中,不能输入所有字段的值,部分字段的值需要程序干预。
  然后选中某行,直接编辑,可以实现修改功能。
  选中某行,点击“删除”,将删除某行。
  我想实现2个按钮的代码,以及数据库保存部分的代码。
  我的邮箱:samatha119@163.com 。
  如果分不够,只要能解决问题,可以开贴给分,我确实急用。请各位帮帮忙。

8 个解决方案

#1


把email给我,我把源代码发给你。

#2


我的邮箱:samatha119@163.com 。非常感谢,我真的急用。

#3


难道大家都不知道吗?

#4


没有人会吗?realMAX(我的心太乱) ,你不是要给我发吗?

#5


我给你发一个!!受邮件

#6


在你的aspx中添加一下代码,自己定制的DataGrid
<TABLE>
<asp:datagrid id="grdTest"  runat="server" Width="596px" CssClass="GridTable" GridLines="Vertical" AllowSorting="True" AutoGenerateColumns="False" AllowPaging="True" CellPadding="3">

<PagerStyle HorizontalAlign="Justify" ForeColor="Firebrick" BackColor="Khaki" Mode="NumericPages"></PagerStyle>

<SelectedItemStyle ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>

<AlternatingItemStyle BackColor="WhiteSmoke"></AlternatingItemStyle>
<ItemStyle ForeColor="Black" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Navy"></HeaderStyle>
<FooterStyle ForeColor="Blue" BackColor="Goldenrod"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="ID" SortExpression="ID"     
           HeaderText="ID"></asp:BoundColumn>
<asp:BoundColumn DataField="名称" SortExpression="名称"     
           HeaderText="名称"></asp:BoundColumn>
<asp:ButtonColumn Text="Edit" CommandName="Edit"></asp:ButtonColumn>
<asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn>
</Columns>
<PagerStyle HorizontalAlign="Justify" ForeColor="Firebrick" BackColor="Khaki" Mode="NumericPages"></PagerStyle>
</asp:datagrid></TABLE>

#7


以上grdTest风格可以根据需要自己改
在CS文件中处理事件
// InitializeComponent()事件中加入
this.grdTest.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdTest_ItemCommand);
//添加事件
private void grdTest_ItemCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
     int item = e.Item.ItemIndex;
     try
     {
switch (e.CommandName)
{
     case "Edit":
     //添加自己的处理方法 让grdTest处于可编辑状态
     break;
    case "Delete": 
    //添加自己的处理方法  Sql语句删除即可     break;    
}
     }
     catch (Exception ex)
     {
         //处理异常 
      }
}
我认为最好有个“Commit”按钮,否则你怎么知道用户时候时候是编辑好了还是没编辑好

#8


建议你到www.wrox.com去
看看
那儿的东西 不错

#1


把email给我,我把源代码发给你。

#2


我的邮箱:samatha119@163.com 。非常感谢,我真的急用。

#3


难道大家都不知道吗?

#4


没有人会吗?realMAX(我的心太乱) ,你不是要给我发吗?

#5


我给你发一个!!受邮件

#6


在你的aspx中添加一下代码,自己定制的DataGrid
<TABLE>
<asp:datagrid id="grdTest"  runat="server" Width="596px" CssClass="GridTable" GridLines="Vertical" AllowSorting="True" AutoGenerateColumns="False" AllowPaging="True" CellPadding="3">

<PagerStyle HorizontalAlign="Justify" ForeColor="Firebrick" BackColor="Khaki" Mode="NumericPages"></PagerStyle>

<SelectedItemStyle ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>

<AlternatingItemStyle BackColor="WhiteSmoke"></AlternatingItemStyle>
<ItemStyle ForeColor="Black" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Navy"></HeaderStyle>
<FooterStyle ForeColor="Blue" BackColor="Goldenrod"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="ID" SortExpression="ID"     
           HeaderText="ID"></asp:BoundColumn>
<asp:BoundColumn DataField="名称" SortExpression="名称"     
           HeaderText="名称"></asp:BoundColumn>
<asp:ButtonColumn Text="Edit" CommandName="Edit"></asp:ButtonColumn>
<asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn>
</Columns>
<PagerStyle HorizontalAlign="Justify" ForeColor="Firebrick" BackColor="Khaki" Mode="NumericPages"></PagerStyle>
</asp:datagrid></TABLE>

#7


以上grdTest风格可以根据需要自己改
在CS文件中处理事件
// InitializeComponent()事件中加入
this.grdTest.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdTest_ItemCommand);
//添加事件
private void grdTest_ItemCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
     int item = e.Item.ItemIndex;
     try
     {
switch (e.CommandName)
{
     case "Edit":
     //添加自己的处理方法 让grdTest处于可编辑状态
     break;
    case "Delete": 
    //添加自己的处理方法  Sql语句删除即可     break;    
}
     }
     catch (Exception ex)
     {
         //处理异常 
      }
}
我认为最好有个“Commit”按钮,否则你怎么知道用户时候时候是编辑好了还是没编辑好

#8


建议你到www.wrox.com去
看看
那儿的东西 不错