نمایش نتایج 1 تا 2 از 2

نام تاپیک: کار با grid view

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    کار با grid view

    سلام،من در صفحه وب خودم از یک grid view و از templatefield یک دکمه واسه جدول درسم اضافه کردم،حالا فرض کنید که من در جدولم 5 تا درس وجود داره که جلوی هر کدومش یک دکمه انتخاب وجود داره،درصورتی که با اضافه کردن دکمه از طریق edit template و دابل کلیک بر روی دکمه ای که ایجاد کردم فقط یک جا واسه وارد کردن دستورات وجود داره.بطور خلاصه بگم چطور میتونم که برای چند درس با مشخصات متفاوت داخل یک button برنامه نویسی کنم تا با زدن اون دکمه،درس مورد نظر ثبت بشه،تشکر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    کرج
    پست
    495

    نقل قول: کار با grid view

    دوست عزيز شما تصورتون از يك جا براي كد نوشتن اشتباه است ببينيد يه قطعه كد مي ذارم شايد به دردتون بخوره اين كد به اين صورت هست كه دو تا ImageButton گذاشته ايم كه با كليك روي يكي عمليات خذف و با كليك روي ديگري عمليات ويرايش انجام مي شود كد رو بخون سعي مي كنم در اولين فرصت توضيح بيشتري براش بنويسم

    <asp:GridViewID="GridView1"runat="server"CellPadding="4"ForeColor="#333333"dir="ltr"
    GridLines="None"AutoGenerateColumns="False"
    BorderColor="Black"BorderWidth="1px"CssClass="gridveiw"
    onselectedindexchanged="GridView1_SelectedIndexChanged"
    DataSourceID="SqlDataSource1">
    <FooterStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>
    <RowStyleBackColor="#EFF3FB"/>
    <Columns>
    <asp:TemplateFieldHeaderText="¥¨ه">
    <ItemTemplate>
    <asp:ImageButtonID="ImageButton2"runat="server"CommandName="select"
    CssClass="pic1"ImageUrl="~/image/delete2.gif"
    onmouseout="change(this, 'pic1');"onmouseover="change(this, 'pic2');"
    onclick="ImageButton2_Click"/>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateFieldHeaderText="يی©ںی¬">
    <ItemTemplate>
    <asp:ImageButtonID="ImageButton1"runat="server"
    ImageUrl="~/image/manager.gif"CommandName="select"
    CssClass="pic1"onmouseout="change(this, 'pic1');"
    onmouseover="change(this, 'pic2');"onclick="ImageButton1_Click"/>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundFieldDataField="name"HeaderText="ëںê ©¬¢ى"SortExpression="name"/>
    <asp:BoundFieldDataField="id"InsertVisible="False"
    SortExpression="id">
    <ControlStyleWidth="0px"/>
    <FooterStyleWidth="0px"/>
    <HeaderStyleWidth="0px"/>
    <ItemStyleWidth="0px"Font-Size="0pt"/>
    </asp:BoundField>
    </Columns>
    <PagerStyleBackColor="#2461BF"ForeColor="White"HorizontalAlign="Center"/>
    <EmptyDataTemplate>
    <asp:ButtonID="Button3"runat="server"Text="Button"/>
    </EmptyDataTemplate>
    <SelectedRowStyleBackColor="#D1DDF1"Font-Bold="True"ForeColor="#333333"/>
    <HeaderStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"
    CssClass="gridveiw"Font-Names="Tahoma"Font-Size="Small"/>
    <EditRowStyleBackColor="#2461BF"/>
    <AlternatingRowStyleBackColor="White"/>
    </asp:GridView>
    <asp:SqlDataSourceID="SqlDataSource1"runat="server"
    ConnectionString="<%$ ConnectionStrings:aminConnectionString %>"
    SelectCommand="SELECT [id], [name] FROM [©¬¢ى] WHERE ([del] = @del)">
    <SelectParameters>
    <asp:ParameterDefaultValue="false"Name="del"Type="Boolean"/>
    </SelectParameters>
    </asp:SqlDataSource>


    حالا كدي كه در حالت Code_Behind بايد بنويسي

    int k = 0;
    protectedvoid ImageButton2_Click(object sender, ImageClickEventArgs e)
    {
    k = 2;
    }
    protectedvoid ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
    k = 1;
    }

    protectedvoid GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
    if (k == 1)
    {
    GridView1.Enabled = false;
    edit.Visible = true;
    TextBox1.Text= set_textbox();
    TextBox1.Focus();
    }
    elseif (k == 2)
    {
    GridView1.Enabled = false;
    delete.Visible = true;
    TextBox2.Text = set_textbox();
    Button4.Focus();
    }
    }

    protectedvoid Button1_Click(object sender, EventArgs e)
    {
    string str = GridView1.Rows[GridView1.SelectedIndex].Cells[3].Text;
    string str1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Documents and Settings\amin.AMIN-22DF05570F\My Documents\amin.mdf';Integrated Security=True;Connect Timeout=30;User Instance=True";
    SqlConnection cn = newSqlConnection(str1);
    string sqlstr = "UPDATE ©¬¢ى SET name = '" + TextBox1.Text + "' where id='" + str + "'";
    SqlCommand com = newSqlCommand(sqlstr, cn);
    cn.Open();
    com.ExecuteNonQuery();
    cn.Close();
    GridView1.DataBind();
    edit.Visible = false;
    GridView1.SelectedIndex = -1;
    GridView1.Enabled = true;
    }

    string set_textbox()
    {
    string s = "";
    string str = GridView1.Rows[GridView1.SelectedIndex].Cells[3].Text;
    string str1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Documents and Settings\amin.AMIN-22DF05570F\My Documents\amin.mdf';Integrated Security=True;Connect Timeout=30;User Instance=True";
    SqlConnection cn = newSqlConnection(str1);
    string sqlstr = "select name from ©¬¢ى where id='" + str + "'";
    SqlCommand com = newSqlCommand(sqlstr, cn);
    cn.Open();
    SqlDataReader dr = com.ExecuteReader();
    if (dr.Read())
    s = dr[0].ToString();
    dr.Close();
    cn.Close();
    return s;
    }

    protectedvoid Button4_Click(object sender, EventArgs e)
    {
    delete.Visible = false;
    GridView1.SelectedIndex = -1;
    GridView1.Enabled = true;
    }
    protectedvoid Button3_Click(object sender, EventArgs e)
    {
    string str = GridView1.Rows[GridView1.SelectedIndex].Cells[3].Text;
    string str1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Documents and Settings\amin.AMIN-22DF05570F\My Documents\amin.mdf';Integrated Security=True;Connect Timeout=30;User Instance=True";
    SqlConnection cn = newSqlConnection(str1);
    string sqlstr = "UPDATE ©¬¢ى SET del = 'True' where id='" + str + "'";
    SqlCommand com = newSqlCommand(sqlstr, cn);
    cn.Open();
    com.ExecuteNonQuery();
    cn.Close();
    GridView1.DataBind();
    delete.Visible = false;
    GridView1.SelectedIndex = -1;
    GridView1.Enabled = true;
    if (GridView1.Rows.Count == 0)
    {
    Label1.Visible = true;
    GridView1.Visible = false;
    }
    }


    با زدن دكمه ويرايش يا حذف اطلاعات اون ركورد در دو TextBox نمايش داده مي شود سپس كاربر با زدن دكمه هايي يا حذف مي كند يا عمليات ويرايش را انجام مي دهد فقط يه موضوعي ما تو اين كد هنگام حذف، حذف منطقي انجام داديم كاملا حذف نكرديم
    بعد اينكه اگه مشكل حل نشد در اولين فرصت فايل هاش رو به زبان VB براتون ضميمه ميكنم
    و يه نكته ديگه اينكه تو اين كد دو كليد براي انصراف قرار داده شده يكي در هنگام حذف يكي در هنگام ويرايش
    موفق باشيد
    آخرین ویرایش به وسیله fa_karoon : جمعه 08 مرداد 1389 در 11:06 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •