• ASP.NET简化编辑界面 V2


    程序是需要不断改进,上午做了,下午再去看时,会觉它不够完美。

    比如这个:http://www.cnblogs.com/insus/archive/2011/10/27/2226250.html 现在Insus.NET把它改为下面这个样子:

      

    以下内容于2011-11-07 10:00添加:

    这篇与前一篇改进部分,也许大家会留意到动画演示,主要是GridVeiw的更新与删除会在每row都有。因此Insus.NET把它抽取出来,放在GridView外。致于一次性更新多笔记录,Insus.NET在很早之前已经录制过视频:http://www.cnblogs.com/insus/articles/1400150.html 。还有一个就是删除,在每row第一列放了一个CheckBox,让用户可以选择记录进行删除。

    View Code
    <asp:TemplateField>
                            <ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="1%" />
                            <ItemTemplate>
                                <asp:CheckBox ID="CheckBox1" runat="server" onclick="Javascript:changeRowBgColor(this)" />
                            </ItemTemplate>
                        </asp:TemplateField>

    删除前提示用户确认之后,再删除,但是在这里遇上一个问题,就是首先判断是否有选择记录,再confirm用户确认删除

    还有一点要注意的地方,就是选择CheckBox之后,行可以Highlight,实现方可以参考:http://www.cnblogs.com/insus/archive/2011/09/07/2169742.html

    以下较完整代码,仅供参考:

    View Code
    <asp:Table ID="Table1" runat="server" CssClass="table" CellPadding="2" CellSpacing="0">
                    <asp:TableHeaderRow Height="20" BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0">
                        <asp:TableHeaderCell BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0">
                        Chinese Name
                        </asp:TableHeaderCell>
                        <asp:TableHeaderCell BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0" Width="50%">
                        English Name
                        </asp:TableHeaderCell>
                    </asp:TableHeaderRow>
                    <asp:TableRow Height="20">
                        <asp:TableCell BorderWidth="1" BorderColor="#c0c0c0">
                            <asp:TextBox ID="txt_CName" runat="Server" CssClass="textbox" />
                        </asp:TableCell>
                        <asp:TableCell BorderWidth="1" BorderColor="#c0c0c0">
                            <asp:TextBox ID="txt_EName" runat="Server" CssClass="textbox" />
                        </asp:TableCell>
                    </asp:TableRow>
                </asp:Table>
                <div style="margin-top: 3px; margin-bottom: 3px; padding: 3px;">
                    <asp:Button ID="ButtonInsert" Text="Insert" runat="Server" OnClick="ButtonInsert_Click" />
                    <asp:Button ID="ButtonUpdate" Text="Update" runat="Server" OnClick="ButtonUpdate_Click" />
                    <asp:Button ID="ButtonDelete" Text="Delete" runat="Server" OnClick="ButtonDelete_Click"
                        CausesValidation
    ="false" />
                </div>
                <asp:GridView ID="GvCutterType" runat="server" DataKeyNames="CutterTypeId" AutoGenerateColumns="false"
                    CellPadding
    ="2" CellSpacing="0" Width="100%" BorderWidth="0" BorderColor="#c0c0c0"
                    RowStyle-Height
    ="20" ShowHeader="false">
                    <Columns>
                        <asp:TemplateField>
                            <ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="1%" />
                            <ItemTemplate>
                                <asp:CheckBox ID="CheckBox1" runat="server" onclick="Javascript:changeRowBgColor(this)" />
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField>
                            <ItemStyle BorderWidth="1" BorderColor="#c0c0c0" />
                            <ItemTemplate>
                                <asp:TextBox ID="txtCName" runat="server" Text='<%# Eval("CName") %>'></asp:TextBox>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField>
                            <ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="50%" />
                            <ItemTemplate>
                                <asp:TextBox ID="txtEName" runat="server" Text='<%# Eval("EName") %>'></asp:TextBox>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

    xxx.aspx.cs:

    View Code
      protected void ButtonInsert_Click(object sender, EventArgs e)
        {
           //do Insert something
            
    //obj.Insert(......);
        }
      
        protected void ButtonUpdate_Click(object sender, EventArgs e)
        {
            //reference this url: http://www.cnblogs.com/insus/articles/1400150.html
        }

        protected void ButtonDelete_Click(object sender, EventArgs e)
        {       
           //如何取得所有选择记录的主键:http://www.cnblogs.com/insus/articles/1413740.html
           //http://www.cnblogs.com/insus/archive/2011/11/07/2238927.html
           
    // string dataKeyNames = xxx; 

           
    // string[] arr = dataKeyNames.Substring(1).Split(',');
            try
            {
                foreach (string s in arr)
                {
                    //obj.Delter(s);
                }           
            }
            catch (Exception ex)
            {
                //alert exception message
            }
        } 
  • 相关阅读:
    [网站运营]浅谈如何尽可能的避免cms网站被黑
    [CDN]阿里云(企业云解析DNS)让你的博客飞起来
    阿里新生的面试经,与老人分享的职业进阶攻略及规划
    高逼格!程序猿的表白也可以这么浪漫
    程序员表白专属技能,你还不快学起来
    序列上的一些文章
    序列上的一些文章
    最长不下降子序列
    最长不下降子序列
    luoguP2831 愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/insus/p/2226703.html
Copyright © 2020-2023  润新知