m_gholami
پنج شنبه 13 بهمن 1390, 13:47 عصر
با سلام
من یک کامبوباکس دارم که باید 18000 رکورد رو در خوش جای بده
کد برنامم بدستی کار میکنه ولی سرعت برنامه بشدت پایین میاد.
براون شدم تا کاربر با وارد کردن هر حرفی پروسیجر زیر فراخونی بشه
SELECT *
from tbl
where name like @name+'%'
در sqlserver این کد بدرستی کار میکنه و مقادیر درست بر میگردونه
حالا موندم در کدوم رویداد کامبوباکس کدی وارد کنم که هر با یک دکمه کلیک شد به حرف قبلی بچسبه و
متن جدید فرستاده بشه و لیست جدید برگرده
try
{
db.readName(cmoName.Text);
cmoName.DataSource = db.dt;
if (db.dt.Rows.Count > 0)
{
cmoName.DroppedDown = true;
cmoName.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
cmoName.AutoCompleteSource = AutoCompleteSource.ListItems;
cmoName.DisplayMember = "name";
cmoName.ValueMember = "internalCode";
}
}
catch { }
من یک کامبوباکس دارم که باید 18000 رکورد رو در خوش جای بده
کد برنامم بدستی کار میکنه ولی سرعت برنامه بشدت پایین میاد.
براون شدم تا کاربر با وارد کردن هر حرفی پروسیجر زیر فراخونی بشه
SELECT *
from tbl
where name like @name+'%'
در sqlserver این کد بدرستی کار میکنه و مقادیر درست بر میگردونه
حالا موندم در کدوم رویداد کامبوباکس کدی وارد کنم که هر با یک دکمه کلیک شد به حرف قبلی بچسبه و
متن جدید فرستاده بشه و لیست جدید برگرده
try
{
db.readName(cmoName.Text);
cmoName.DataSource = db.dt;
if (db.dt.Rows.Count > 0)
{
cmoName.DroppedDown = true;
cmoName.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
cmoName.AutoCompleteSource = AutoCompleteSource.ListItems;
cmoName.DisplayMember = "name";
cmoName.ValueMember = "internalCode";
}
}
catch { }