استفاده همزمان از کنترل اعتبارسنجی و خاصیت edit در گریدویو

fereshte22

Member
سلام
من در فرم خود یک کنترل اعتبارسنجی RegularExpressionValidator قرارداده ام.همزمان در این فرم یک گرید ویو دارم و برای آپدیت سطرهای گریدویو خاصیت autogenerateeditbutton گریدویو را true کردم.حالا مشکل اینه که هر موقع میخواهم سطرها ی گریدویو را اپدیت کنم این کنترل اعتبار سنجی هم فعال میشود.
ایا راهی وجود دارد که از این مشکل حل شود.(مثل کنترل button معمولی که خاصیت causesvalidation اون را false میکنیم)
ممنون
 

morTeza_CS

New Member
دوست عزیز بله یه راه وجود داره ولی نه اون راهی که شما گفتید .همه کنترلها خاصیتی به نام ValidationGroup دارند که شما باید داخل این خاصیت یه چیزی بنویسید ،مثلاً Group1 بعد همین اسم رو تو Buttun ی که می خواید عمل Validate رو انجام بده بنویسید .موفق باشید
 

fereshte22

Member
از راهنمایی شما ممنون هستم
مشکل با استفاده از commandfield حل شد..من قبلا از commandfield استفاده نمیکردم و به این صورت عمل میکردم که خاصیت autogenerateeditbutton را در گریدویو true میکردم به همین دلیل گزینه ای برای causesvalidation پیدا نمیکردم .ولی استفاده از command field مشکلم را به راحتی حل کرد.
حالا یه سوال دیگه که برای من پیش اومده این است که ایا میتونیم برای textbox هایی که موقع اپدیت داریم کنترل اعتبارسنجی قرار دهیم.؟
و طوری باشد که موقع edit این کنترل های اعتبارسنجی فعال شوند ولی کنترل های اعتبارسنجی مربوط به textbox های خارج از گریدویو غیر فعال شوند.؟
 

morTeza_CS

New Member
برای textbox هایی که موقع اپدیت داریم
شرمنده من درست متوجه منظورتون نمی شم :cry:
اگه منظورتون موقع نوشتن متن داخل Text باشه بله می شه.
ولی در کل موضوع فعال یا غیر فعال شدن کنترلهای اعتبار سنجی نیست .شما با همون خاصیتی که گفتم می تونید داخل یه فرم چند تا گروه داشته باشید که هیچ ارتباطی به هم نداشته باشند .:)
 

fereshte22

Member
ببخشید میشه روشتون را روی طراحی زیر پیاده سازیه کنید.
من میخواهم برای textbox زیر در گریدویو کنترل اعتبارسنجی قرار دهم.


کد:
  <asp:TemplateField HeaderText="تعداد کلیک">
                    <EditItemTemplate>
                        <asp:TextBox ID="nclickTextBox" runat="server" Text='<%#Eval("nclick")%>' Width="90"></asp:TextBox>
                        <br />
                    </EditItemTemplate>
                    <ItemStyle VerticalAlign="Top" />
                    <ItemTemplate>
                        <%#Eval("nclick")%>
                    </ItemTemplate>
                </asp:TemplateField>
 

morTeza_CS

New Member
چرا تو این کد شما کنترل اعتبارسنجی نزاشتید ؟؟
از این کد استفاده کن
کد:
            <Columns>
                <asp:CommandField ShowEditButton="True" ValidationGroup="G1" />
                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
                <asp:TemplateField HeaderText="تعداد کلیک">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtEdit" runat="server" Text='<%# Bind("Name") %>' ValidationGroup="G1"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ValidationGroup="G1"
                            ErrorMessage=" You Must Enter Your Name " ControlToValidate="txtEdit">
                        </asp:RequiredFieldValidator>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label runat="server" Text='<%# Bind("Name") %>' ID="lblName"></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا