PDA

View Full Version : سوال: سرچ در دیتا بیس



masoodz
یک شنبه 10 دی 1391, 06:40 صبح
سلام دوستان
من تو برنامم از ADO استفاده می کنم . حالا برای سرچ می خوام به این صورت باشه که مثلا می خوام اسم محمد احمدی رو سرچ بزنم تو تکست باکس م رو تایپ کنم تمامی اسم هایی که اولشون م هست رو برام بیاره بعدش حرف بعد مح رو تایپ کنم جستجو رو به این دو حرف فیلتر کنه
اگه امکانش هست راهنمایی کنید .

samira3
یک شنبه 10 دی 1391, 08:00 صبح
سلام
من اين كار با يك تكس باكس وليست باكس انجام دادم وقتي كاربر م توتكس مي زد توليست نام كاربري كه م داشت ليست مي شد تا آخر كه با جاوا اسكريپت پياده سازي كردم



<asp:TextBox ID="TextBox1" runat="server" meta:resourcekey="TextBox1Resource1" onkeyUp="UpdateListBox();"
TabIndex="7"></asp:TextBox>



<script type="text/javascript">


function DoListBoxFilter(listBoxSelector, filter, keys, values) {
var list = $(listBoxSelector);
var selectBase = '<option value="{0}">{1}</option>';

list.empty();
for (i = 0; i < values.length; ++i) {

var value = values[i];

if (value == "" || value.toLowerCase().indexOf(filter.toLowerCase()) >= 0) {
var temp = '<option value="' + keys[i] + '">' + value + '</option>';
list.append(temp);
}
}
}

var keys = [];
var values = [];

var options = $('#<% = ListBox1.ClientID %> option');
$.each(options, function (index, item) {
keys.push(item.value);
values.push(item.innerHTML);
});
function UpdateListBox() {

$('#<% = TextBox1.ClientID %>').keyup(function () {

var filter = $(this).val();

DoListBoxFilter('#<% = ListBox1.ClientID %>', filter, keys, values);
});
}

</script>

راستي شما وب مي خواهيد يا ويندوزي راه حل من واسه وب
اگر شما ويندوزي مي خواهيد كارش راحتر تو رويدادتكس باكس يك كوئري بزنيد بگيد تمام افرادي كه حرف اولش م را ليست كنه .
باز اگر سوالي داشتيد بگيد .

masoodz
یک شنبه 10 دی 1391, 08:25 صبح
دوست من میشه یخورده درباره کدت توضیح بدی . من جاوا زیاد کار نکردم . برنامه من ویندوزی هستش
سلام
من اين كار با يك تكس باكس وليست باكس انجام دادم وقتي كاربر م توتكس مي زد توليست نام كاربري كه م داشت ليست مي شد تا آخر كه با جاوا اسكريپت پياده سازي كردم



<asp:TextBox ID="TextBox1" runat="server" meta:resourcekey="TextBox1Resource1" onkeyUp="UpdateListBox();"
TabIndex="7"></asp:TextBox>



<script type="text/javascript">


function DoListBoxFilter(listBoxSelector, filter, keys, values) {
var list = $(listBoxSelector);
var selectBase = '<option value="{0}">{1}</option>';

list.empty();
for (i = 0; i < values.length; ++i) {

var value = values[i];

if (value == "" || value.toLowerCase().indexOf(filter.toLowerCase()) >= 0) {
var temp = '<option value="' + keys[i] + '">' + value + '</option>';
list.append(temp);
}
}
}

var keys = [];
var values = [];

var options = $('#<% = ListBox1.ClientID %> option');
$.each(options, function (index, item) {
keys.push(item.value);
values.push(item.innerHTML);
});
function UpdateListBox() {

$('#<% = TextBox1.ClientID %>').keyup(function () {

var filter = $(this).val();

DoListBoxFilter('#<% = ListBox1.ClientID %>', filter, keys, values);
});
}

</script>

راستي شما وب مي خواهيد يا ويندوزي راه حل من واسه وب
اگر شما ويندوزي مي خواهيد كارش راحتر تو رويدادتكس باكس يك كوئري بزنيد بگيد تمام افرادي كه حرف اولش م را ليست كنه .
باز اگر سوالي داشتيد بگيد .

RamezanBeik
یک شنبه 10 دی 1391, 09:30 صبح
شما بایستی از رویداد Textchange تکست باکس و در دستور اس کیو ال از Like استفاده کنید

masoodz
یک شنبه 10 دی 1391, 18:11 عصر
میشه بیشتر توضیح بدی عزیز؟
شما بایستی از رویداد Textchange تکست باکس و در دستور اس کیو ال از Like استفاده کنید

RamezanBeik
دوشنبه 11 دی 1391, 09:06 صبح
خوب شما از بخش رویداد های Textbox خود رویداد Text change رو انتخاب کنید کد زیر رو به DataSet یا DataTabel خودتون انتساب بدید
SELECT * FROM Persons
WHERE City LIKE 's%
سپس DataSet یا DataTabel رو به DataSource گرید خود وصل کنید و در آخر هم DataGrid روRefresh کنید